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 に答える