静态广播实现app自启动
来源:互联网 发布:thinkphp5 nginx配置 编辑:程序博客网 时间:2024/05/16 15:30
android开机时会发送开机系统广播,通过对系统开机广播的监听可以简单实现app自启动功能
广播的选择
广播分静态广播和动态广播。两者区别静态通过mainfest清单文件注册,即使app未启动广播接收器也行之有效;动态广播大都通过代码中动态注册,随app生命周期存在。因为需要实现的是app开机自启功能,所以这里使用静态广播
BroadcastReceiver
首先是mainfest注册
<receiver android:name=".receiver.RebootBroadcastReceiver"> <intent-filter> <action android:name="android.intent.action.BOOT_COMPLETED" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> <intent-filter> <action android:name="android.intent.action.MEDIA_MOUNTED"/> <action android:name="android.intent.action.MEDIA_UNMOUNTED"/> <category android:name="android.intent.category.DEFAULT" /> <data android:scheme="file" /> </intent-filter> <intent-filter> <action android:name="android.net.conn.CONNECTIVITY_CHANGE" /> <action android:name="android.intent.action.USER_PRESENT" /> </intent-filter> </receiver>这里注意必须声明android.intent.action.BOOT_COMPLETED & android.intent.category.LAUNCHER,
BOOT_COMPLETED是receiver捕获特定广播的字段(此处为开机广播),
LAUNCHER是防止系统开机之后广播接收器不自启,receiver启动的必要标签。
其他的intent-filter见名知意,不必须
其次是广播的定义
public class RebootBroadcastReceiver extends BroadcastReceiver { private static final String TAG = "RebootBroadcastReceiver"; @Override public void onReceive(Context context, Intent intent) { if (intent.getAction().equals(Intent.ACTION_BOOT_COMPLETED)){ try { Log.e(TAG, "onReceive: 自启动成功!" ); Intent start = context.getPackageManager().getLaunchIntentForPackage("com.feiyu.jingyulive"); context.startActivity(start); }catch (Exception e){ Log.e(TAG, "onReceive: 自启动失败!" ); } }else { Log.e(TAG, "onReceive: 自启动失败!" ); } }}
onReceive内只有一段通过PackageManager自启应用的代码
需要注意
mainfest中加入自启动权限
<!--开机自启权限--> <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
有一些版本的安卓手机默认会关闭程序内置的自启动选项,在应用管理中找到应用的权限管理把允许系统启动和允许被第三方应用启动打开就好
阅读全文
0 0
- 静态广播实现app自启动
- Android使用广播实现app开机自启动
- 广播开机自启动
- Android 实现开机自启动app
- Android通过Broadcast(广播)实现开机自启动
- Android学习笔记---接收系统开机广播实现自启动
- Android之广播二(静态注册实现开机启动)
- Android开机启动APP广播
- app开机自启动
- APP开机自启动
- APP开机自启动
- App开机自启动
- 关于APP开机自启动的简单实现
- Xamarin.Android 开机广播、开机自启动
- Android开机自启动应用通过广播
- 开机广播RECEIVE_BOOT_COMPLETED、开机自启动服务
- 【Android】安卓学习笔记之广播(二)静态注册实现开机启动
- 1min了解广播(2)-静态注册实现开机启动
- Java代码操作Redis
- bzoj 2748: [HAOI2012]音量调节 dp
- 兴业银行总行信息科技部笔试+面试经验
- QEMU动态翻译器
- MySQL ZIP Archive 5.7.17 安装方法
- 静态广播实现app自启动
- 一个*号引发的事故
- sql server存储过程
- 关于iOS内存 指针一些整理
- ImportError: No module named yaml
- C++中的hash_map和map的区别
- 机器学习-学习笔记 学习总结归纳(第十周)
- IJKPlayer安装与配置
- SetBkMode函数用法详解