java - 如何在android中的设备启动时启动服务?

标签 java android android-launcher

<分区>

我正在制作一个应用程序,它需要从设备启动到设备关闭始终运行的服务,即使应用程序关闭也是如此。这可以在 android 中完成吗?

最佳答案

  1. 首先你需要权限

    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
    
  2. 然后创建一个广播接收器

    import android.content.BroadcastReceiver;
    import android.content.Context;
    import android.content.Intent;
    
    public class Startup extends BroadcastReceiver {
    
        public Startup() {
        }
    
        @Override
        public void onReceive(Context context, Intent intent) {
            // start your service here
            context.startService(new Intent(context, SERVICE.class));
        }
    
    }
    
  3. 在您的 list 中将此 BroadCast 接收器注册为

    <receiver android:name="YOUR_PACKAGE.Startup" >
        <!-- This intent filter receives the boot completed event -->
        <intent-filter>
            <action android:name="android.intent.action.BOOT_COMPLETED" />
        </intent-filter>
    </receiver>
    

Note: A service too is not guaranteed to run from device boot to device shut down, as in extreme cases the Android system may kill the service also to gain additional memory.

关于java - 如何在android中的设备启动时启动服务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20595337/

相关文章:

android - 启动器应用程序和主页键不一致

java - 从 play framework 2.0.8 迁移到 2.1.0 错误 : cache play already exists

android - 如何在 Android Studio 中使用我的上传 key (没有 keystore )签署我的 android 应用程序包?

java - 具体的Java泛型数组创建

Android:在闹钟期间 - 如果用户锁定屏幕或进入主屏幕 - 如何再次将其恢复?

Android图像文件大小限制以及如何处理大图像?

android - 如何仅在应用程序首次启动时启动具有特定 Activity 的应用程序?

sqlite - 访问 Lollipop 上的启动器数据库

java - 是否可以对非映射实体使用 HQL

java - java中带有索引和两个值的数据结构