gpt4 book ai didi

java - 如何使应用程序在启动时自动延迟运行?

转载 作者:搜寻专家 更新时间:2023-11-01 07:57:41 26 4
gpt4 key购买 nike

我在获得此许可后在 Stratup 上制作了我的应用

<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />

并将其添加到我的 AndroidManifast.xml

        <receiver android:enabled="true" android:name=".BootUpReceiver" android:permission="android.permission.RECEIVE_BOOT_COMPLETED">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED"/>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
</receiver>

这在我的 java 代码中:

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;

public class BootUpReceiver extends BroadcastReceiver {

@Override
public void onReceive(Context context, Intent intent) {
Intent i = new Intent(context, Main.class);
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(i);
}

}

当应用程序在启动时启动时,它会崩溃,而当我再次启动它时,它会正常运行。我不知道它的原因是什么。所以我决定延迟启动它来解决这个问题。我需要你的帮助来增加延迟。

最佳答案

我有类似的要求在系统启动后延迟启动服务。我如下所示将延迟添加到接收器。您的其余代码看起来不错。

public void onReceive(final Context context, Intent intent) {

// We can't wait on the main thread as it would be blocked if we wait for too long
new Thread(new Runnable() {

@Override
public void run() {
try {
// Lets wait for 10 seconds
Thread.sleep(10 * 1000);
} catch (InterruptedException e) {
Log.e(TAG, e.getMessage());
}

// Start your application here
}
}).start();
}

在这里,我启动了一个新的 Thread,延迟 10 秒,延迟后将启动应用程序或服务。

引用链接: https://github.com/midhunhk/message-counter/blob/master/v2/MessageCounter/src/com/ae/apps/messagecounter/receivers/BootCompletedReceiver.java

关于java - 如何使应用程序在启动时自动延迟运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25659305/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com