Android Wear:Wi-Fi扫描无结果

时间:2016-04-05 21:24:18

标签: java android wear-os

每当我尝试使用Wi-Fi Scan for Android Wear时,我总是得不到扫描结果。我使用的代码适用于我的移动设备,但使用Android Wear时,它始终返回一个空列表。代码如下:

    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    setAmbientEnabled();

    mContainerView = (BoxInsetLayout) findViewById(R.id.container);
    mTextView = (TextView) findViewById(R.id.text);
    mClockView = (TextView) findViewById(R.id.clock);

    test = (WifiManager) getSystemService(Context.WIFI_SERVICE);

    mTextView.setVisibility(View.VISIBLE);

    if (test.isWifiEnabled() == false)
    {
        test.setWifiEnabled(true);
    }
    registerReceiver(new BroadcastReceiver()
        {
            @Override
            public void onReceive(Context c, Intent intent)
            {
                Log.w("myApp", "received");
                List<ScanResult> results = test.getScanResults();
                int j = 0;
                int myArray1[] = new int[results.size()];
                String myArray2[] = new String[results.size()];
                for (ScanResult result : results) {
                    //toPrint+= " " + result.BSSID  + " " + result.level + "\n";
                    myArray1[j] = result.level;
                    myArray2[j] = result.BSSID;
                    j++;
                    if (j > 20) {
                        break;
                    }
                }
                Button test2;
                test2 = (Button) findViewById(R.id.tLight);
                test2.setText("Test: " + Integer.toString(results.size()));
            }
        }, new IntentFilter(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION));
    if (checkSelfPermission(Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
        requestPermissions(new String[]{Manifest.permission.ACCESS_COARSE_LOCATION, Manifest.permission.ACCESS_FINE_LOCATION}, 0x12345);
    }
    test.startScan();
}

清单文件中还启用了以下权限:

<uses-feature android:name="android.hardware.type.watch" />
<uses-feature android:name="android.hardware.wifi" />
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_MULTICAST_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />

0 个答案:

没有答案