Я должен использовать функцию startCustomizedScan (ScanSettings). Запросить проверку точек доступа в указанном списке каналов. Каждый канал определяется его частотой в МГц, например. "2437"Android WifiManeger Класс startCustomizedScan (ScanSettings запрошен) функция принудительное принудительное приложение
WifiChannel mrtChannel;
mrtChannel = new WifiChannel();
mrtChannel.freqMHz = 2437;
mrtChannel.channelNum = 6;
ScanSettings set ;
mrtcollection = null;
mrtcollection.add(mrtChannel);
set = (ScanSettings)mrtcollection;
mainWifi.startCustomizedScan(set);
, но мое приложение Force Stop. Заявка не приветствуется. LogCat
08-30 23:09:36.547: E/AndroidRuntime(14327): FATAL EXCEPTION: main
08-30 23:09:36.547: E/AndroidRuntime(14327): Process: com.muratucan.murat5hidden, PID: 14327
08-30 23:09:36.547: E/AndroidRuntime(14327): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.muratucan.murat5hidden/com.muratucan.murat5hidden.MainActivity}: java.lang.NullPointerException: Attempt to invoke interface method 'boolean java.util.Collection.add(java.lang.Object)' on a null object reference
08-30 23:09:36.547: E/AndroidRuntime(14327): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2305)
08-30 23:09:36.547: E/AndroidRuntime(14327): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2367)
08-30 23:09:36.547: E/AndroidRuntime(14327): at android.app.ActivityThread.access$800(ActivityThread.java:148)
08-30 23:09:36.547: E/AndroidRuntime(14327): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1283)
08-30 23:09:36.547: E/AndroidRuntime(14327): at android.os.Handler.dispatchMessage(Handler.java:102)
08-30 23:09:36.547: E/AndroidRuntime(14327): at android.os.Looper.loop(Looper.java:135)
08-30 23:09:36.547: E/AndroidRuntime(14327): at android.app.ActivityThread.main(ActivityThread.java:5274)
08-30 23:09:36.547: E/AndroidRuntime(14327): at java.lang.reflect.Method.invoke(Native Method)
08-30 23:09:36.547: E/AndroidRuntime(14327): at java.lang.reflect.Method.invoke(Method.java:372)
08-30 23:09:36.547: E/AndroidRuntime(14327): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:909)
08-30 23:09:36.547: E/AndroidRuntime(14327): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:704)
08-30 23:09:36.547: E/AndroidRuntime(14327): Caused by: java.lang.NullPointerException: Attempt to invoke interface method 'boolean java.util.Collection.add(java.lang.Object)' on a null object reference
08-30 23:09:36.547: E/AndroidRuntime(14327): at com.muratucan.murat5hidden.MainActivity.onCreate(MainActivity.java:133)
08-30 23:09:36.547: E/AndroidRuntime(14327): at android.app.Activity.performCreate(Activity.java:5977)
08-30 23:09:36.547: E/AndroidRuntime(14327): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1105)
08-30 23:09:36.547: E/AndroidRuntime(14327): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2258)
Пожалуйста, дайте мне некоторое представление об этом проекте или в другом виде.
Спасибо!
Мой Полный код Вот ..
public class MainActivity extends Activity {
// WifiManager mainwifi;
public Collection<WifiChannel> channelSetCollect;
public Collection<WifiChannel> mrtcollection = null;
TextView ekran ;
TextView mainText;
WifiManager mainWifi;
WifiReceiver receiverWifi;
List<ScanResult> wifiList;
StringBuilder sb = new StringBuilder();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mainText = (TextView) findViewById(R.id.textView1);
// Initiate wifi service manager
mainWifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);
WifiChannel mrtChannel;
mrtChannel = new WifiChannel();
mrtChannel.freqMHz = 2437;
mrtChannel.channelNum = 6;
ScanSettings set ;
mrtcollection = null;
mrtcollection.add(mrtChannel);
set = (ScanSettings)mrtcollection;
mainWifi.startCustomizedScan(set);
// Check for wifi is disabled
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);
}
// wifi scaned value broadcast receiver
receiverWifi = new WifiReceiver();
// Register broadcast receiver
// Broacast receiver will automatically call when number of wifi connections changed
registerReceiver(receiverWifi, new IntentFilter(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION));
// mainWifi.startScan();
mainText.setText("Starting Scan...");
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
if (id == R.id.action_settings) {
return true;
}
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();
sb.append("\n Number Of Wifi connections :"+wifiList.size()+"\n\n");
for(int i = 0; i < wifiList.size(); i++){
sb.append(new Integer(i+1).toString() + ". ");
sb.append((wifiList.get(i)).toString());
sb.append("\n\n");
}
mainText.setText(sb);
}
}
}
Вы пробовали mCollection = new Collection() ;? –
Вместо того, чтобы присваивать ему значение null, это список, в котором вы можете сделать clear(), если вы присвоите ему значение null, это приведет к сбою. Причина NullPointerException –
Я использую mCollection = new Collection(); код, но это приведет к сбою в вызове NullPointerException –