一段时间后,我想在启动时启动我的应用程序。
我成功地在启动时启动了我的应用程序。但我希望应用程序在启动前等待一分钟。
我尝试过两种解决方案(如下所示)。两者都会启动应用程序,但会提示“应用程序无响应”(ANR) 对话框。
如果我将两个解决方案中的时间都修改为 40000 毫秒,则不会提示 ANR。
有人知道为什么吗?以及如何在没有任何 ANR 提示的情况下将时间缩短到 1 分钟?
太感谢了!
public class StartAtBoot extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
/* SOLUTION 1:
* final Context con = context; Handler handler = new Handler();
* handler.postDelayed(new Runnable() { public void run() { Intent i =
* new Intent(con, MainActivity.class);
* i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); con.startActivity(i); } },
* 60000);
*/
// SOLUTION 2:
android.os.SystemClock.sleep(60000);
Intent i = new Intent(context, MainActivity.class);
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(i);
}
}