android项目 之 来电管家(8) ----- 添加开机自启动监听服务
2014-09-16 19:13
525 查看
现在大多数的应用都会开机自启动,来电管家更是如此,添加了开机自启动监听服务后,开机后即使你没有打开来电管家应用程序,一样可以拦截来电信息。
1. 要有开机要启动的service或activity(这里开机要启动的当然就是ListenService了)
2. 编写一个BroadcastReceiver用以捕获ACTION_BOOT_COMPLETED这条广播,并在捕获之后启动我们要启动的Activity或service。
BootCompletedReceiver.java
这里同样取出了用户的设置信息,如果用户未启用监听服务,则开机不自启动监听服务,更加人性化。
3. 在AndroidManifest.xml配置文件中注册我们的BroadcastReceiver
4. 在AndroidManifest.xml配置文件中添加允许我们捕获该广播的权限
这样,通过以上四个步骤,就可实现Activity或Service的开机自启动。
至此,该来电管家的基本拦截功能,以及显示拦截信息,定时拦截,监听开关,拦截模式功能已全部实现,当然了,该应用还可以继续完善,如,将拦截记录添加通知栏,***应用启动画面,添加手势滑动,添加短信拦截等更加丰富的功能。
附:完整代码下载
开机自启动Activity或Service的方法:
主要步骤:1. 要有开机要启动的service或activity(这里开机要启动的当然就是ListenService了)
2. 编写一个BroadcastReceiver用以捕获ACTION_BOOT_COMPLETED这条广播,并在捕获之后启动我们要启动的Activity或service。
BootCompletedReceiver.java
package com.example.callmanager; import android.app.Activity; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.SharedPreferences; public class BootCompletedReceiver extends BroadcastReceiver { SharedPreferences spf; @Override public void onReceive(Context context, Intent intent) { if (intent.getAction().equals(Intent.ACTION_BOOT_COMPLETED)) { spf = context.getSharedPreferences("setting", Activity.MODE_PRIVATE); Intent newIntent = new Intent("com.example.callmanager.ListenService"); newIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); //注意,必须添加这个标记,否则启动会失败 System.out.println("start by broadcast"); if(spf.getBoolean("isStartListen", false)) context.startService(newIntent); } } }
这里同样取出了用户的设置信息,如果用户未启用监听服务,则开机不自启动监听服务,更加人性化。
3. 在AndroidManifest.xml配置文件中注册我们的BroadcastReceiver
<receiver android:name=".BootCompletedReceiver"> <intent-filter> <action android:name="android.intent.action.BOOT_COMPLETED" /> </intent-filter> </receiver>
4. 在AndroidManifest.xml配置文件中添加允许我们捕获该广播的权限
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
这样,通过以上四个步骤,就可实现Activity或Service的开机自启动。
至此,该来电管家的基本拦截功能,以及显示拦截信息,定时拦截,监听开关,拦截模式功能已全部实现,当然了,该应用还可以继续完善,如,将拦截记录添加通知栏,***应用启动画面,添加手势滑动,添加短信拦截等更加丰富的功能。
附:完整代码下载
相关文章推荐
- android项目 之 来电管家(5) ----- 添加监听服务
- android项目 之 来电管家(7) ----- 加载用户设置并启监听用服务
- android项目 之 来电管家(3) ----- 添加与删除黑名单
- android项目 之 来电管家(4) ----- 添加拦截时间段
- 在Ubuntu中和Android中添加开机自启动的守护进程
- android实现开机自启动服务
- android 开机自启动的几种方法,监听不到RECEIVE_BOOT_COMPLETED的处理办法
- 在Ubuntu中和Android中添加开机自启动的守护进程
- Linux smb服务添加到防火墙与开机自启动
- android实现开机自启动服务
- Android开机自启动后台服务-RECEIVE_BOOT_COMPLETED
- android实现开机自启动服务
- android实现开机自启动服务
- 一种较方便在Android中添加开机自启动的守护进程的方法
- android实现开机自启动服务
- Android 监听开机广播启动服务 动态注册时间变化监听广播
- Android之应用程序监听开机启动自启动应用程序
- android实现开机自启动服务
- 在centos中添加开机自启动服务
- 如何将程序添加到系统服务实现开机自启动