活动正常,直到按下主页键。然后,当从菜单启动应用程序时,活动不会响应下面列出的按钮按下按钮。当方向改变时,活动再次开始工作。
这是通过实现(覆盖)on * * 方法来解决的吗? (即onResume()或onStart())
这是我的onStop和onDestroy
@Override
protected void onStop()
{
if(broadRecvr!=null) {try{unregisterReceiver(broadRecvr);} catch(RuntimeException re) {re.getStackTrace();}}
super.onStop();
}
@Override
protected void onDestroy()
{
super.onDestroy();
if(wifiToggled)
{wifi.setWifiEnabled(!wifiToggled);}
}
这些是logcat错误;整个logcat输出太长而无法粘贴:
E/ActivityManager(99): fail to set top app changed!
E/KINETO(183): KLOG0C3- xmk_QueryOSQueue SDL Queue empty : WAIT_FOREVER
E/KINETO(183): KLOG0A3- ibs_os_GetMsg: Timeout forever for UKCC qHnd 0x814396ac
E/KINETO(183): KLOG0C3- xmk_QueryOSQueue SDL Queue empty : WAIT_FOREVER
E/KINETO(183): KLOG0A3- ibs_os_GetMsg: Timeout forever for UKCC qHnd 0x814396ac
E/KINETO(183): KLOG0C3- xmk_QueryOSQueue SDL Queue empty : WAIT_FOREVER
E/KINETO(183): KLOG0A3- ibs_os_GetMsg: Timeout forever for UKCC qHnd 0x814396ac
我想知道如何修复没有响应的按钮。 这是按下主页键后无效的按钮代码:
public void setupButtons()
{
buttonScan = (Button) findViewById(R.id.bScan);
buttonScan.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) { wifi.startScan(); } });
}
我在onCreate方法中调用setupButtons()。
此外,我注意到当我通过系统菜单打开GPS然后返回时,buttonScan没有响应。
答案 0 :(得分:0)
解决。正如我推测的那样,在我的情况下通过实现onResume方法解决了这个问题。因为在恢复活动后不调用onCreate。用户点击主页按钮并返回活动后发生恢复。由于没有任何改变,因此在更改方向之前不会重绘(发生@ onCreate)。这对我来说是完全合理的,为什么这是正确的答案。
@Override
public void onResume() {
super.onResume();
//code goes here
}