-1
클릭하면 Wi-Fi 네트워크에 연결되는 링크를 클릭하여 클릭 할 수있는 버튼 또는 다른 것으로 결과를 표시하는 앱을 어떻게 만듭니 까?와이파이 스캔 결과를 클릭 가능한 버튼으로 표시
아래 코드는 SSID를 목록으로 표시하지만 클릭 할 수 없음을 보여줍니다.
package com.example.amit.ak504;
import java.util.List;
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.support.v7.app.ActionBar;
import android.support.v7.app.AppCompatActivity;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
private static int LENGTH_SHORT=600;
TextView mainText;
WifiManager mainWifi;
WifiReceiver receiverWifi;
List<ScanResult> wifiList;// this is an object of List
StringBuilder sb = new StringBuilder();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// setupActionBar();
setContentView(R.layout.activity_main);
ActionBar actionBar = getSupportActionBar();
actionBar.setDisplayHomeAsUpEnabled(true);
mainText = (TextView) findViewById(R.id.tv1);
mainWifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);
if (mainWifi.isWifiEnabled() == false)
{
// If wifi disabled then enable it
Toast.makeText(getApplicationContext(), "wifi is disabled..making it
enabled",Toast.LENGTH_LONG).show();
mainWifi.setWifiEnabled(true);
}
receiverWifi = new WifiReceiver();
registerReceiver(receiverWifi, new
IntentFilter(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION));
mainWifi.startScan();
mainText.setText("Starting Scan...");
}
// private void setupActionBar() {
// if (actionBar != null) {
// Show the Up button in the action bar.
// actionBar.setDisplayHomeAsUpEnabled(true);
// }
//}
public ActionBar getSupportActionBar() {
return getDelegate().getSupportActionBar();
}
public boolean onCreateOptionsMenu(Menu menu) {
menu.add(0, 0, 0, "Refresh");//side menu
return super.onCreateOptionsMenu(menu);
}
public boolean onOptionsItemSelected(MenuItem item) {
mainWifi.startScan();
mainText.setText("Starting Scan");
return super.onOptionsItemSelected(item);
}
protected void onPause() {
unregisterReceiver(receiverWifi);
super.onPause();
}
protected void onResume() {
registerReceiver(receiverWifi, new
IntentFilter(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION));
super.onResume();
}
// Broadcast receiver class called its receive method
// when number of wifi connections changed
class WifiReceiver extends BroadcastReceiver {
// This method call when number of wifi connections changed
public void onReceive(Context c, Intent intent)
{
sb = new StringBuilder();
wifiList = mainWifi.getScanResults();
//why getScanResult is stored into a list.
//note that wifilist was a object of List<ScanResult>
sb.append("\nNumber Of Wifi connections :"+wifiList.size()+"\n\n");
Button bt1=(Button)findViewById(R.id.button);
for(int i = 0; i < wifiList.size(); i++){
sb.append(new Integer(i+1).toString() + ". ");
sb.append((wifiList.get(i)).SSID);
sb.append("\n\n");
}
bt1.setText(wifiList.get(2).SSID);
mainText.setText(sb);
}
}
}
이것은 내가 달성하기 위해 노력하고 무엇 :