尝试断开 android P2P 中的连接时应用程序崩溃
Application crashing when trying to teardown connection in android P2P
我正在尝试实施 google 的 wifidirect 连接示例。一切正常,但在选项菜单上,如果我单击断开连接,应用程序会崩溃并显示 'nullpointer exception'。错误显示在行 'mconnecion.teardown()';
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home: // using app icon for navigation up or home:
Log.d(TAG, "home clicked.");
// startActivity(new Intent(home.class, Intent.FLAG_ACTIVITY_CLEAR_TOP));
return true;
case R.id.atn_direct_enable:
startActivity(new Intent(Settings.ACTION_WIRELESS_SETTINGS));
return true;
case R.id.atn_direct_discover:
listFragment.onInitiateDiscovery();
Log.d(TAG, "onOptionsItemSelected : start discoverying ");
discoverPeers();
return true;
case R.id.disconnect:
Log.d(TAG, "onOptionsItemSelected : disconnect all connections and stop server ");
mConnection.tearDown();
mConnection=null;
return true;
default:
return super.onOptionsItemSelected(item);
}
}
'mconnection' 是一个 class 和 'teardown()' 方法如下
public void tearDown() {
mChatServer.tearDown();
mChatClient.tearDown();
isReady = false;
mContext = null;
}
我该如何解决这个问题?
它显示空指针异常,因为那里的对象是空的。检查对象是否为空,问题不应该存在。
if (mConnection!=null)
mConnection.tearDown();
mConnection=null;
return true;
我希望这应该能解决您的问题
我正在尝试实施 google 的 wifidirect 连接示例。一切正常,但在选项菜单上,如果我单击断开连接,应用程序会崩溃并显示 'nullpointer exception'。错误显示在行 'mconnecion.teardown()';
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home: // using app icon for navigation up or home:
Log.d(TAG, "home clicked.");
// startActivity(new Intent(home.class, Intent.FLAG_ACTIVITY_CLEAR_TOP));
return true;
case R.id.atn_direct_enable:
startActivity(new Intent(Settings.ACTION_WIRELESS_SETTINGS));
return true;
case R.id.atn_direct_discover:
listFragment.onInitiateDiscovery();
Log.d(TAG, "onOptionsItemSelected : start discoverying ");
discoverPeers();
return true;
case R.id.disconnect:
Log.d(TAG, "onOptionsItemSelected : disconnect all connections and stop server ");
mConnection.tearDown();
mConnection=null;
return true;
default:
return super.onOptionsItemSelected(item);
}
}
'mconnection' 是一个 class 和 'teardown()' 方法如下
public void tearDown() {
mChatServer.tearDown();
mChatClient.tearDown();
isReady = false;
mContext = null;
}
我该如何解决这个问题?
它显示空指针异常,因为那里的对象是空的。检查对象是否为空,问题不应该存在。
if (mConnection!=null)
mConnection.tearDown();
mConnection=null;
return true;
我希望这应该能解决您的问题