无线扫描结果广播接收器不工作

编程入门 行业动态 更新时间:2024-10-11 19:23:13
本文介绍了无线扫描结果广播接收器不工作的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我写了一个简单的广播接收器显示敬酒消息时完成无线扫描。没有什么是显示。这里是我的code:

包com.wifi;进口的java.util.List;进口android.content.BroadcastReceiver;进口android.content.Context;进口android.content.Intent;进口android.wifi.ScanResult;进口android.wifi.WifiManager;进口android.widget.Toast;公共类wifiReceiver扩展广播接收器{    @覆盖    公共无效的onReceive(上下文的背景下,意图意图){        Toast.makeText(上下文中,扫描完成,Toast.LENGTH_LONG).show();    }}

下面是清单文件:

<?XML版本=1.0编码=UTF-8&GT?;<清单的xmlns:机器人=htt​​p://schemas.android/apk/res/android      包=com.wifi      安卓版code =1      机器人:=的versionName1.0>    <应用机器人:图标=@绘制/图标机器人:标签=@字符串/ APP_NAME>        <活动机器人:无线NAME =机器人:标签=@字符串/ APP_NAME>            &所述;意图滤光器>                <作用机器人:名字=android.intent.action.MAIN/>                <类机器人:名字=android.intent.category.LAUNCHER/>            &所述; /意图滤光器>        < /活性GT;    <接收机器人:名字=。wifiReceiver>        &所述;意图滤光器>            <作用机器人:名字=android.wifi.SCAN_RESULTS>< /作用>        &所述; /意图滤光器>    < /接收器>    < /用途>    <使用许可权的android:NAME =android.permission.ACCESS_WIFI_STATE/>    <使用许可权的android:NAME =android.permission.CHANGE_WIFI_STATE/>< /清单>

解决方案

好,这不是那么容易;-)结果有几件事情失踪...这里是一个WiFi扫描的一个例子 - 原始来源$ C ​​$ C在这里www.androidsnippets/scan-for-wireless-networks

包com.android.wifitester;进口的java.util.List;进口android.app.Activity;进口android.content.BroadcastReceiver;进口android.content.Context;进口android.content.Intent;进口android.content.IntentFilter;进口android.wifi.ScanResult;进口android.wifi.WifiManager;进口android.os.Bundle;进口android.view.Menu;进口android.view.MenuItem;进口android.widget.TextView;公共类WifiTester延伸活动{TextView中的mainText;WifiManager mainWifi;WifiReceiver receiverWifi;清单< ScanResult> wifiList;StringBuilder的SB =新的StringBuilder();公共无效的onCreate(捆绑savedInstanceState){   super.onCreate(savedInstanceState);   的setContentView(R.layout.main);   的mainText =(的TextView)findViewById(R.id.mainText);   mainWifi =(WifiManager)getSystemService(Context.WIFI_SERVICE);   receiverWifi =新WifiReceiver();   registerReceiver(receiverWifi,新的IntentFilter(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION));   mainWifi.startScan();   mainText.setText(\\\\ n起始扫描... \\\\ N);}公共布尔onCreateOptionsMenu(菜单菜单){    menu.add(0,0,0,刷新);    返回super.onCreateOptionsMenu(菜单);}公共布尔onMenuItemSelected(INT FEATUREID,菜单项项){    mainWifi.startScan();    mainText.setText(开始扫描);    返回super.onMenuItemSelected(FEATUREID,项目);}保护无效的onPause(){    unregisterReceiver(receiverWifi);    super.onPause();}保护无效onResume(){    registerReceiver(receiverWifi,新的IntentFilter(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION));    super.onResume();}类WifiReceiver扩展广播接收器{    公共无效的onReceive(上下文C,意图意图){        SB =新的StringBuilder();        wifiList = mainWifi.getScanResults();        的for(int i = 0; I< wifiList.size();我++){            sb.append(新整数第(i + 1)的ToString()+。);            sb.append((wifiList.get(I))的toString());            sb.append(\\\\ N);        }        mainText.setText(某人);    }}}

I have written a simple broadcast receiver to show a toast message when wifi scan is completed. Nothing is showing. Here is my code:

package com.wifi; import java.util.List; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.wifi.ScanResult; import android.wifi.WifiManager; import android.widget.Toast; public class wifiReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { Toast.makeText(context,"Scan completed", Toast.LENGTH_LONG).show(); } }

Here is the manifest file:

<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="schemas.android/apk/res/android" package="com.wifi" android:versionCode="1" android:versionName="1.0"> <application android:icon="@drawable/icon" android:label="@string/app_name"> <activity android:name=".wifi" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <receiver android:name=".wifiReceiver"> <intent-filter> <action android:name="android.wifi.SCAN_RESULTS"></action> </intent-filter> </receiver> </application> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /> </manifest>

解决方案

well, it's not that easy ;-) there are couple of things missing... here is an example of a wifi scan - the original source code is located here www.androidsnippets/scan-for-wireless-networks

package com.android.wifitester; import java.util.List; import android.app.Activity; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.wifi.ScanResult; import android.wifi.WifiManager; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.widget.TextView; public class WifiTester extends Activity { TextView mainText; WifiManager mainWifi; WifiReceiver receiverWifi; List<ScanResult> wifiList; StringBuilder sb = new StringBuilder(); public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); mainText = (TextView) findViewById(R.id.mainText); mainWifi = (WifiManager) getSystemService(Context.WIFI_SERVICE); receiverWifi = new WifiReceiver(); registerReceiver(receiverWifi, new IntentFilter(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION)); mainWifi.startScan(); mainText.setText("\\nStarting Scan...\\n"); } public boolean onCreateOptionsMenu(Menu menu) { menu.add(0, 0, 0, "Refresh"); return super.onCreateOptionsMenu(menu); } public boolean onMenuItemSelected(int featureId, MenuItem item) { mainWifi.startScan(); mainText.setText("Starting Scan"); return super.onMenuItemSelected(featureId, item); } protected void onPause() { unregisterReceiver(receiverWifi); super.onPause(); } protected void onResume() { registerReceiver(receiverWifi, new IntentFilter(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION)); super.onResume(); } class WifiReceiver extends BroadcastReceiver { public void onReceive(Context c, Intent intent) { sb = new StringBuilder(); wifiList = mainWifi.getScanResults(); for(int i = 0; i < wifiList.size(); i++){ sb.append(new Integer(i+1).toString() + "."); sb.append((wifiList.get(i)).toString()); sb.append("\\n"); } mainText.setText(sb); } } }

更多推荐

无线扫描结果广播接收器不工作

本文发布于:2023-11-27 12:55:33,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1638169.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:接收器   工作

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!