我有一个Android应用程序,如果它失去焦点应该保持关闭。但如果应用程序关闭,它仍然会发送背景数据。如何阻止应用程序发送它或找出哪些异步线程仍处于活动状态?
答案 0 :(得分:2)
试试这个: -
假设您有一个AsyncTask,如: -
class BackgroundFetching extends AsyncTask<Void, Void, Integer>
{
}
使其对象像
private BackgroundFetching mFetching ;
现在当app关闭时,取消这个AsyncTask,如: -
@Override
protected void onPause() {
super.onPause();
if(null != mFetching && mFetching.getStatus() == AsyncTask.Status.RUNNING)
{
mFetching.cancel(true);
mFetching = null;
}
}
答案 1 :(得分:0)
检测应用程序是否转到here
描述的背景然后向您的班级发送/设置一个标志,以阻止他们发送数据的活动。
答案 2 :(得分:0)
在失去焦点时杀死应用程序,在其他术语“暂停”
@Override
protected void onPause()
{
super.onPause();
finish();
}//End of onPause method