gpt4 book ai didi

java - 在手机启动android时启动应用程序/服务(正确的方法)

转载 作者:行者123 更新时间:2023-12-01 12:59:36 28 4
gpt4 key购买 nike

我看到了一些关于如何在手机启动时启动应用程序的其他帖子,但用户每次看到应用程序弹出可能会很烦人。我宁愿做的是启动一项服务并检查是否应该启动并保持应用程序运行或关闭它。我的问题是如何完成这样的事情或“正确”的方法来完成它,即启动服务还是应用程序更好?

最佳答案

在 list 中添加 RECEIVE_BOOT_COMPLETED 权限。

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

制作一个广播接收器。将其添加到您的 list 中,以便它接收 BOOT_COMPLETED 操作。

<receiver android:name="your.package.name.BootCompletedReceiver" >
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
</receiver>

在您的应用中,您可以将用户的首选项保存在 SharedPreferences 中。如果您不使用典型的首选项屏幕,您始终可以执行以下操作:

// if inside an activity or service, context can be "this"
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
prefs.edit().putBoolean("start_at_boot", true).commit();

在您的接收器中,您可以检查此首选项并决定从那里做什么。

public class BootCompletedReceiver extends BroadcastReceiver {

@Override
public void onReceive(Context context, Intent intent) {
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
boolean startAtBoot = prefs.getBoolean("start_at_boot", false) {
if (startAtBoot) {
// do something here
}
}
}

关于java - 在手机启动android时启动应用程序/服务(正确的方法),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23621419/

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