0

该活动正常工作,直到按下主页键。然后,当应用程序从菜单启动时,活动不会响应按下下面列出的按钮的按钮。当方向改变时,活动再次开始工作。

这是否通过实现(覆盖)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 没有响应。

4

1 回答 1

0

解决了。正如我推测的那样,在我的案例中,这是通过实现 onResume 方法解决的。因为在活动恢复后不会调用 onCreate。恢复发生在用户点击主页按钮并返回活动后。由于没有任何改变,因此在方向改变之前不会重绘(发生@onCreate)。对我来说这很有意义,为什么这是正确的答案。

@Override
public void onResume() {
    super.onResume();
    //code goes here
}
于 2012-02-21T04:32:55.020 回答