2015-02-02 3 views
0

привет это мой первый вопрос, потому что я новичок в андроида мире программWifi RSSI чтение

Я хочу взять WiFi чтение RSSI и Disply его в списке я пишу код, приведенный ниже, и при запуске его на моем телефоне , программа останавливается и говорит, что «извините, программа остановлена» Я не знаю, почему ??? может кто-нибудь мне помочь?

public class MainActivity extends ActionBarActivity { 
 

 
    ListView list; 
 
    WifiManager wifiManager; 
 
    IntentFilter filter; 
 
    String wifi []; 
 
    WifiScanClass myClass; 
 

 
    @Override 
 
    protected void onCreate(Bundle savedInstanceState) { 
 
     super.onCreate(savedInstanceState); 
 
     setContentView(R.layout.activity_main); 
 
     list=(ListView)findViewById(R.id.list1); 
 
     wifiManager=(WifiManager)getSystemService(Context.WIFI_SERVICE); 
 
     myClass = new WifiScanClass(); 
 
        registerReceiver(myClass,new IntentFilter(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION)); 
 
        wifiManager.startScan(); 
 
    } 
 
    protected void onResume() 
 
    { 
 
     filter=new IntentFilter(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION); 
 
     registerReceiver(myClass,filter); 
 
     super.onResume(); 
 
    } 
 
    protected void onPause() 
 
    { 
 
     unregisterReceiver(myClass); 
 
     super.onPause(); 
 
    } 
 

 
    class WifiScanClass extends BroadcastReceiver { 
 
     @SuppressLint("UseValueOf") 
 
     public void onReceive(Context context, Intent intent) { 
 
      List<ScanResult> listResult=wifiManager.getScanResults(); 
 
      wifi=new String[listResult.size()]; 
 
      int i; 
 
      for (i=0;i<listResult.size();i++); 
 
      wifi[i]=((listResult.get(i)).toString()); 
 
      list.setAdapter(new ArrayAdapter<String>(getApplicationContext(),android.R.layout.simple_list_item_1,wifi)); 
 

 
     } 
 
    } 
 
}

+0

наряду с «соответствующим» кодом вам также необходимо разместить свой логарифм! – AADProgramming

ответ

0

Пожалуйста, добавьте выход LogCat для ошибки. Возможным источником проблемы может быть то, что getApplicationContext() необходимо вызвать в предоставленном контексте. Поэтому попробуйте заменить getApplicationContext() на context.getApplicationContext().

0
public class MainActivity extends ActionBarActivity { 

    ListView list; 
    WifiManager wifiManager; 
    IntentFilter filter; 
    String wifi []; 
    WifiScanClass myClass; 



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




     list=(ListView)findViewById(R.id.list1); 
     wifiManager=(WifiManager)getSystemService(Context.WIFI_SERVICE); 
     myClass = new WifiScanClass(); 
     wifiManager.startScan(); 


    } 


    protected void onResume() 
    { 
     filter=new IntentFilter(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION); 
     registerReceiver(myClass,filter); 
     super.onResume(); 

    } 

    protected void onPause() 
    { 

     unregisterReceiver(myClass); 
     super.onPause(); 

    } 

    class WifiScanClass extends BroadcastReceiver { 


     @SuppressLint("UseValueOf") 
     public void onReceive(Context context, Intent intent) { 
      List<ScanResult> listResult=wifiManager.getScanResults(); 
      wifi=new String[listResult.size()]; 

      int i; 
      for (i=0;i<listResult.size();i++) 

       wifi[i]=((listResult.get(i)).toString()); 

      list.setAdapter(new ArrayAdapter<String>(getApplicationContext(),android.R.layout.simple_list_item_1,wifi)); 


     } 
    } 
} 

наконец я нашел ошибку

";" in for.

+0

Вы сделали простую ошибку (все мы это делаем), но нет смысла держать вопрос, поскольку от него ничего не может быть выяснено. Итак: пожалуйста, удалите свой вопрос! –

Смежные вопросы