我不知道我完全理解你的問題,但是,如果你想通過活動取消Handler
,你可以把它放在方法:
@Override
public void onPause() {
super.onPause();
handler.removeCallbacks(runnable);
}
的方法被調用時,一項活動即將被用戶隱藏起來。
重新閱讀您的問題後,如果您的意思是您想訪問Activity
類的BroadcastReceiver
類中的處理程序,則應該使處理程序成爲您活動的成員變量。
public class MyActivity extends Activity {
private Handler mHandler = new Handler();
public class BroadcastReceiver mReceiver = new BroadcastReceiver() {
public void onReceive (Context context, Intent intent) {
// ... use mHandler in here ....
mHandler.postDelayed(runnable, 1000);
}
}
// ... rest of the code ...
@Override
public void onPause() {
super.onPause();
handler.removeCallbacks(runnable);
}
}
可以使用mHandler
使用handler你BroadcastReceiver
和Activity
類中。你必須確保你的BroadcastReceiver
類是而不是 a static
內部類的Activity
。