[英]Starting an application/service on phone startup android (the correct way)
我还看到了其他一些有关如何在电话启动时启动应用程序的文章,但是对于用户而言,每次看到该应用程序弹出时可能都会很烦人。 我宁愿做的是启动一项服务,并检查是否应该启动并保持该应用程序启动或关闭。 我的问题是我该如何完成类似的任务或“正确”的方法,即启动服务或应用程序更好?
在清单中,添加RECEIVE_BOOT_COMPLETED权限。
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
制作一个BroadcastReceiver。 将其添加到清单中,使其收到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
}
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.