2016-07-09 22 views
-1

常にWi-Fiをスキャンしてチェックを止めるアプリを作成する方法はありますか?もしそうなら、それは素早くバッテリーを殺しませんか?
Wi-Fiをスキャンしてリストビューにリストする良いリファレンスを誰かに見せてもらえますか?
私はこのAndroid Wi-Fi Tutorialサイトを試しましたが、それは私のためには機能しません。常にWiFiのAndroidをスキャンする

そして、これは私が何をすべきかです:

AndroidSystemは、あなたのブロードキャストレシーバを伝えるNDあなたはonRecieveでstartActivityメソッドを呼び出すとWifiActivityを起動し、スキャン結果を取得し、それを渡す必要がありonRecieveインタフェースを実行
package com.example.amire.yadavar; 

import android.app.Activity; 
import android.content.BroadcastReceiver; 
import android.content.Context; 
import android.content.Intent; 
import android.content.IntentFilter; 
import android.net.wifi.ScanResult; 
import android.net.wifi.WifiManager; 
import android.os.Bundle; 
import android.widget.ArrayAdapter; 
import android.widget.ListView; 

import java.util.List; 

public class MainActivity extends Activity { 
    private ListView lv; 
    private WifiManager wifi; 
    private WifiScanReceiver wifiReciever; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     lv=(ListView)findViewById(R.id.listView); 

     wifi=(WifiManager)getSystemService(Context.WIFI_SERVICE); 
     wifiReciever = new WifiScanReceiver(); 
     wifi.startScan(); 
    } 

    protected void onPause() { 
     unregisterReceiver(wifiReciever); 
     super.onPause(); 
    } 

    protected void onResume() { 
     registerReceiver(wifiReciever, new IntentFilter(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION)); 
     super.onResume(); 
    } 


    private class WifiScanReceiver extends BroadcastReceiver{ 
     public void onReceive(Context c, Intent intent) { 
      List<ScanResult> wifiScanList = wifi.getScanResults(); 
      String[] wifis = new String[wifiScanList.size()]; 

      for(int i = 0; i < wifiScanList.size(); i++){ 
       wifis[i] = ((wifiScanList.get(i)).toString()); 
      } 
      lv.setAdapter(new ArrayAdapter<>(getApplicationContext(),android.R.layout.simple_list_item_1, wifis)); 
     } 
    } 
} 
+0

API 23を使用していたため、このコードは機能しませんでした。AndroidManifestでは、を追加する必要がありました。 コードが動作するためには、

答えて

0

setAdapterを呼び出してListViewを呼び出します。 これは動作します:)

関連する問題