如何在android中启动设备启动服务?

ver*_*one 3 java android android-launcher

我正在创建一个应用程序,它需要一直运行的服务,即使应用程序关闭,从设备启动到设备关闭.这可以在android中完成吗?

Rac*_*hra 10

  1. 首先,您需要获得许可

    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
    
    Run Code Online (Sandbox Code Playgroud)
  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));
        }
    
    }
    
    Run Code Online (Sandbox Code Playgroud)
  3. 在清单中注册此BroadCast Receiver

    <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>
    
    Run Code Online (Sandbox Code Playgroud)

注意:也不保证服务从设备启动到设备关闭运行,因为在极端情况下,Android系统也可能会终止服务以获得额外的内存.