我不知道我完全理解你的问题,但是,如果你想通过活动取消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
。