Android 实现程序开机自启

最近要做个无界面的开发板程序,需要长期稳定运行,并开机自启,之前没做过,周工给了个提示 android.intent.action.BOOT_COMPLETED ,然后查了一些资料,遂有此文。

  1. AndroidManifest.xml 文件下添加权限

    <!-- 程序自启动权限 -->
    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
    
  2. 在 application 下继续添加静态广播进行拦截, 并设置高优先级

    <!-- 程序自启动广播 -->
    <receiver
        android:name=".MyReceiver"
        android:enabled="true"
        android:exported="true">
        <intent-filter android:priority="1000">
            <action android:name="android.intent.action.BOOT_COMPLETED" />
        </intent-filter>
    </receiver>
    
  3. 编写广播接收者,拦截 android.intent.action.BOOT_COMPLETED ,需要注意的是目标 Class<?> cls ,并不是程序正常启动的Activity。

    public class MyReceiver extends BroadcastReceiver {
    
        @Override
        public void onReceive(Context context, Intent intent) {
            if (intent.getAction().equals("android.intent.action.BOOT_COMPLETED")) {
                Intent i = new Intent(context, ConnectionActivity.class);
                i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                context.startActivity(i);
            }
        }
    }
    
  4. 在设置中,允许程序自启动(或各种拦截软件中), 否则将被拦截

  5. 重启试试?

实现代码来自 https://www.cnblogs.com/jetereting/p/4572302.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值