wifi 信号强度问题 我查了文档,好象应该在 WifiManager 中使用 EXTRA_NEW_RSSI可是我不知道该怎样使用,请高手指教 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 监听Wifi状态发生改变的广播,通过Intent的方法getExtra(WifiManager.EXTRA_NEW_RSSI)或者getXxxExtra()获取相应的值 能给写点代码吗?我现在还不会用 Intent 和广播非常感谢 public class WifisignalActivity 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); setTitle("eoe教程: Wifi Test. -by:IceskYsl"); mainText = (TextView) findViewById(R.id.wifi); 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) { //Bundle bd = intent.getExtras(); //if (bd != null) //{ // int nrssi = bd.getInt(WifiManager.EXTRA_NEW_RSSI); //} sb = new StringBuilder(); wifiList = mainWifi.getScanResults(); //bd = intent.getExtras(); for (int i = 0; i < wifiList.size(); i++) { sb.append(new Integer(i + 1).toString() + "."); sb.append((wifiList.get(i)).toString()); sb.append("\n\n"); } mainText.setText(sb); } }这是我在网上找的代码,运行后信号强度一直显示 -1,而且除了程序启动时能进入到 WifiReceiver 中,运行期间都没有进入过该函数,我有三个WIFI信号源注释的几行是我写的 INTENT,取到的 bundle 是 null 请大家指点下该怎样做,哪怕是个提示也行啊 不明白,我看到的 ScanResult 里的 level 都是 -1 using System;using System.Diagnostics;namespace WifiTest{ class Program { static void Main(string[] args) { Process proc = new Process(); proc.StartInfo.CreateNoWindow = true; proc.StartInfo.FileName = "netsh"; proc.StartInfo.Arguments = "wlan show networks mode=bssid"; proc.StartInfo.RedirectStandardOutput = true; proc.StartInfo.UseShellExecute = false; proc.Start(); string output = proc.StandardOutput.ReadToEnd(); proc.WaitForExit(); Console.WriteLine(output); Console.Read(); } }} ndk中编译stl报错 想搞Android的底层开发,我合适不?? 关于android activity切换的效果 求助!!用sax 解析标签全为string的xml 一个竖屏跳转到另一个透明主题横屏(使用andengine),延迟切换成竖屏! android sqlite 一般在什么时候建表 android中锁屏状态下来短信,弹出一个能显示短信的界面 应用退出后,应用后台服务还开着。如何关闭? drawerlayout+ListView急急急!!!大神速度出现 如何下载图片至私有目录 求解决android源代码的编译错误 开发中如何如何解决 已安装了存在签名冲突的同名数据包
)或者getXxxExtra()获取相应的值
我现在还不会用 Intent 和广播
非常感谢
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);
setTitle("eoe教程: Wifi Test. -by:IceskYsl");
mainText = (TextView) findViewById(R.id.wifi);
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)
{
//Bundle bd = intent.getExtras();
//if (bd != null)
//{
// int nrssi = bd.getInt(WifiManager.EXTRA_NEW_RSSI);
//}
sb = new StringBuilder();
wifiList = mainWifi.getScanResults();
//bd = intent.getExtras();
for (int i = 0; i < wifiList.size(); i++)
{
sb.append(new Integer(i + 1).toString() + ".");
sb.append((wifiList.get(i)).toString());
sb.append("\n\n");
}
mainText.setText(sb);
}
}
这是我在网上找的代码,运行后信号强度一直显示 -1,而且除了程序启动时能进入到 WifiReceiver 中,运行期间都没有进入过该函数,我有三个WIFI信号源
注释的几行是我写的 INTENT,取到的 bundle 是 null
请大家指点下该怎样做,哪怕是个提示也行啊
不明白,我看到的 ScanResult 里的 level 都是 -1
using System.Diagnostics;namespace WifiTest
{
class Program
{
static void Main(string[] args)
{
Process proc = new Process();
proc.StartInfo.CreateNoWindow = true;
proc.StartInfo.FileName = "netsh";
proc.StartInfo.Arguments = "wlan show networks mode=bssid";
proc.StartInfo.RedirectStandardOutput = true;
proc.StartInfo.UseShellExecute = false;
proc.Start();
string output = proc.StandardOutput.ReadToEnd();
proc.WaitForExit(); Console.WriteLine(output);
Console.Read();
}
}
}