店铺 Android 工作室

Handler Android Studio

我在 android 应用程序中有一个处理程序,这非常好用

下面是我的处理程序的代码

Runnable mStatusChecker = new Runnable() {
    @Override
    public void run() {
        try{
            StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
            StrictMode.setThreadPolicy(policy);
            downloadusernamelist();
            isInternetWorking();
            syncDataSftp();
        }finally {
            mHandler.postDelayed(mStatusChecker, mInterval);
        }}};

现在这个处理程序在启动器 activity 上,当我转到下一个 activity 并返回到第一个启动器 activity 时,处理程序再次启动...

我怎样才能让处理程序在我每次回到第一个 activity 时都不会重新启动?

您可以定义一个布尔值,例如;

private boolean firstTime = true;

然后你可以根据firstTime布尔值来决定启动handler

if(firstTime){
   runHandler();
   firstTime = false;
}

您还应该保存 firstTime 值 onSaveInstance 并在 onCreate 上恢复该值;