現在android studioにてwifiのAPをスキャンするアプリを作成しているのですが、ボタンクリックで一時停止、再開するようにしたいのですが、どのように処理して良いかわかりません。何を停止させて、どこから再開すれば良いのかがわからないのでご教授お願いします。
public class StartbtnOnClickListener implements View.OnClickListener{ //startボタンの処理
@Override public void onClick(View v) { //再開処理を書きたい Toast.makeText(MainActivity.this,"It will resume scanning", Toast.LENGTH_SHORT).show(); } } public class StopbtnOnClickListener implements View.OnClickListener{ //stopボタンの処理 @Override public void onClick(View v) { //停止処理が書きたい Toast.makeText(MainActivity.this,"It will stop the scan", Toast.LENGTH_SHORT).show(); } } @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button stopbtn = (Button) findViewById(R.id.stop_id); stopbtn.setOnClickListener((new StopbtnOnClickListener())); Button startbtn = (Button) findViewById(R.id.start_id); startbtn.setOnClickListener(new StartbtnOnClickListener()); ListView listView = (ListView)findViewById(R.id.listView); //Listviewにリンク final ArrayAdapter<String> adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1); listView.setAdapter(adapter); //ListViewに渡す final WifiManager manager = (WifiManager) getSystemService(WIFI_SERVICE); final Handler handler = new Handler(); System.out.println("ok"); final TimerTask timerTask = new TimerTask(){ @Override public void run() { if (manager.getWifiState() == WifiManager.WIFI_STATE_ENABLED) { // APをスキャン manager.startScan(); // スキャン結果を取得 List<ScanResult> apList = manager.getScanResults(); final String[] aps = new String[apList.size()]; for (int i = 0; i < apList.size(); i++) { aps[i] = "SSID:" + apList.get(i).SSID + "\n" + apList.get(i).frequency + "MHz " + apList.get(i).level + "dBm"; } handler.post(new Runnable() { @Override public void run() { adapter.clear(); adapter.addAll(aps); adapter.notifyDataSetChanged(); } }); } } };
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/10/27 10:28
2015/10/27 10:34 編集
2015/10/27 10:45