繁体   English   中英

在手机启动android上启动应用程序/服务(正确方法)

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM