1

我有一个 Android 应用程序,如果它失去焦点,它应该保持关闭状态。但如果应用程序关闭,它仍会发送后台数据。如何阻止应用程序发送它或找出哪些异步线程仍然处于活动状态?

4

3 回答 3

2

尝试这个:-

假设您有一个 AsyncTask,例如:-

class BackgroundFetching extends AsyncTask<Void, Void, Integer>
    {

    }

使其对象像

private BackgroundFetching mFetching ;

现在当应用程序关闭时,取消这个 AsyncTask 像: -

@Override
protected void onPause() {
    super.onPause();
        if(null != mFetching && mFetching.getStatus() == AsyncTask.Status.RUNNING)
        {
            mFetching.cancel(true);
            mFetching = null;
        }
}
于 2013-07-04T10:11:09.717 回答
0

检测应用程序是否进入此处描述的背景

比向您的类发送/设置一个标志以阻止他们发送数据的活动。

于 2013-07-04T10:07:46.853 回答
0

失去焦点时杀死应用程序,换句话说,onPause

@Override
protected void onPause() 
{
    super.onPause();
    finish();
}//End of onPause method
于 2013-07-04T10:10:26.383 回答