由360手机卫士谈起——让你的service获取最高权限。

近日来,我在倒腾360手机卫士的时候,发现,你无论是把他数据清空,还是把它强行停止以后,甚至是把它卸载以后,它的service都没有被Android的系统干掉,依然是岿然不动了。我就感到了纳闷了,后来和群里的大牛讨论后,才知道360手机卫士真他妈的流氓,它是靠第三方的应用,360手机卫士将其开启。这就引出了,我们今天的话题,说一说service的重启方式,从而获取到最高的权限了。

1. 在service的OnDestroy中重新start service。

正规的stopservice的退出后,都会调用OnDestroy方法了,咦,我们何不在此方法后调用start service了,要想保证一个service被杀死后能够自己重新启动(重生),只需要在onDestroy函数中加上一些代码即可。以上面的例子来说明:

public void onDestroy(){
    Log.i(TAG,"onDestroy");
    .................  

    Intent localIntent = new Intent();
    localIntent.setClass(this, MusicService.class); // 销毁时重新启动Service
    this.startService(localIntent);
}  

这种方法也不是很好了,当你把service伴随的主进程停掉以后,它依然会把service干掉。

2.在manifest清单文件中配置使其service不死。

我们从TRACE中可以验证,service执行了onCreate,onStart(没有看到onDestroy的TRACE,应该是执行了的)。如果想让服务不被杀死(也即无动作不改变),在XML的<application段后面加上 android:persistent="true"就行了。

这种方法也不是 万能的,有些手机他偏偏能够停掉该service。

3.利用第三方应用start service

这种方法可以说是万能的,但是要确保用户能够安装你依附第三方应用,而且是不折不扣的流氓行为。

4.通过Receiver起应用

注册BroadcastReceiver两种方式:方式一,静态的在AndroidManifest.xml中用<receiver>标签声明注册,并在标签内用<intent- filter>标签设置过滤器,如上的开机自启动方式。方式二,动态地在代码中先定义并设置好一个 IntentFilter对象,然后在需要注册的地方调 Context.registerReceiver()方法,如果取消时就调用Context.unregisterReceiver()方法。如果用动态方式注册的BroadcastReceiver的Context对象被销毁时,BroadcastReceiver也就自动取消注册了。

一相应的实例如下:

import android.content.BroadcastReceiver;
import android.content.IntentFilter;
IntentFilter ScreenFilter = new IntentFilter();
ScreenFilter.addAction(Intent.ACTION_SCREEN_ON);
registerReceiver(mScreenFilterReceiver, ScreenFilter);
private BroadcastReceiver mScreenFilterReceiver = new BroadcastReceiver() {
    public void onReceive(Context context, Intent intent) {
            if (intent.getAction().equals(Intent.ACTION_SCREEN_ON)) {
                freshDetect();   //做要求的处理
            }
    }
};  

这种方法重启service,也可以说是万无一失的。

以上就是重启service的四种方式,大家是否有收获,请给予反馈.

时间: 2024-12-31 01:03:12

由360手机卫士谈起——让你的service获取最高权限。的相关文章

在Android中实现360手机卫士悬浮窗效果

大家好,今天给大家带来一个仿360手机卫士悬浮窗效果的教程,在开始之前请允许我说几句不相干的废 话. 不知不觉我发现自己接触Android已有近三个年头了,期间各种的成长少不了各位高手的帮助, 总是有很多高手喜欢把自己的经验写在网上,供大家来学习,我也是从中受惠了很多,在此我深表感谢.可 是我发现我却从来没有将自己平时的一些心得拿出来与大家分享,共同学习,太没有奉献精神了.于是我痛 定思痛,决定从今天开始写博客,希望可以指点在我后面的开发者,更快地进入Android开发者的行列当中. 好了,废话

360手机卫士怎么进入微通讯录

  360手机卫士怎么进入微通讯录?360手机卫士微通讯录开启取消方法介绍.最新版的360手机卫士很多朋友都说找不到微通讯录了,那么360手机卫士怎么进入微通讯录?呢让小编告诉大家360手机卫士微通讯录开启取消方法吧! Android版iPhone版PC版Mac版iPad版 1.进入到360手机卫士之后,可以看到隐私空间,点开它. 2.进入到隐私空间之后你会看到如图所示的,隐私通讯录,点开它.点开之后,在右上角,找到[更多],点击更多,如图. 3.然后就可以看到在下面有[进入微通讯录]字样啦.

怎么用360手机卫士备份手机通讯录?

  怎么用360手机卫士备份手机通讯录? 1.点击打开360手机卫士,在第二页有个通讯录备份,点击打开 2.这时我们在通讯录备份页面可以看到有备份,恢复等功能,我们先来备份,点击备份 3.这时需要我们等了360手机卫士,输入你的360账号和密码,然后点击立即登录 4.登录成功,接下来就是选择你要备份的内容了,你可以根据你的需求备份,当然也可以全部备份,流量很小的 5.备份成功,点击确认就好了.

360手机卫士怎么设置骚扰电话拦截?

  360手机卫士怎么设置骚扰电话拦截? 1.打开手机桌面的360卫士,在常用功能选项页面里有一个"骚扰拦截"设置选项,点击打开. 2.进入之后,会看到"垃圾短信"."骚扰电话"和"拦截设置"三个选项.在页面下面是"一键清空"和"举报短信"两个选项."垃圾短信"中显示的是拦截的所有短信,对不爽的短信进行举报,虽然至今小编没有得到什么反馈. 3.在"骚扰电话&

360手机卫士流量币是什么?

  在360卫士手机版中,最新推出摇一摇活动,用户通过摇一摇就能够有机会获得流量币,对于经常使用手机流量或手机流量不够用的用户来说,可通过该活动获取流量币,不过很多用户不知道如何使用"摇一摇"来获取流量比,故此小编在这里为大家带来了详细的获取方法,以及360流量币的作用,需要的用户赶快试试吧! 流量币的作用: 用户在获取流量币后,就能够兑换来自联通.移动的免费流量了. PC版Android版        操作方法: 1.首先我们打开360手机卫士APP软件(最新版本),进入360手机

360手机卫士云备份使用教程

方法/步骤 1.打开360手机卫士软件,进入软件后在右下角找到[隐私保护]--[手机备份]如下图所示: 2.在手机备份里点击[备份数据],选择你要备份的内容,如联系人.短信.通话记录.图片或音乐等,然后点击准备备份.如下图所示: 3.选择好要备份的内容后,现在就开始备份内容到云空间了,备份到360手机卫士云空间后我们再也不用担心手机里的数据会丢失了.如下图所示:   以上是360手机卫士云备份使用教程的全部内容,希望对大家有所帮助,感谢您对pc软件下载站软件大全的支持,更多软件教程请关注pc软件

用360手机卫士连我wifi创建一个wifi信号

  打开360手机卫士,看到右边的功能大全了吗,如果没有连我wifi,点击更多添加 如何添加? 很简单,就是下载.在未添加功能里....看下图 添加完后,在已添加功能里可以找到 打开 ,点击一键创建无线网络.时间不长稍等待一会 创建成功,号和密码会出来的,默认密码123456789 可自行修改.

360手机卫士怎么连接电脑

  360手机卫士连接电脑可以通过USB数据线跟wifi 用数据线连接就比较简单,但是连接之前记得打开手机的USB调试模式,如果连接不了电脑,排除数据线坏掉的原因的话,一个就是没有开启手机USB模式,另外一个就是手机驱动没有安装好,手机USB模式:设置-开发人员选项-勾选USB调试模式即可.如果是驱动没有安装成功的话看看是不是之前安装过相关的驱动,或是开启了像LBE安全大师这样的软件,里面对手机的连接做了限制.退出安全大师重新安装一个驱动就可以了. 还有就是手机上一定要安装360手机卫士才行,这

360手机卫士-关于android4.4以后短信监听的问题

问题描述 关于android4.4以后短信监听的问题 大家好,我最近在做一个短信监听的项目,要能够监听和删除短信.由于android4.4以后短信数据库需要设置为默认短信应用才能有写操作,我是用了一台魅族手做的测试,广播方式无法监听到短信的到来,数据库观察者也无法获取,但是我发现360手机卫士那个隐私空间却可以在魅族手机监听短信,并且不让短信显示在短信列表里.我想请问下,那么360是通过哪种方式监听到的呢?请大神指点一下. 解决方案 http://blog.csdn.net/maybe_wind