做一个自启动管理的软件,
通常容易想到的就是disable active状态的bootcompleted广播接受器,但是在我在试图禁止360手机卫士和QQ手机管家的时候,
却发现怎样都禁止不了。360做了反编译保护,没看到它的配置文件,
QQ的可以反编译出来,结合开机的Log,发现:
 <receiver android:name="com.tencent.server.back.FastBootReceiver">
            <intent-filter android:priority="2147483647">
                <action android:name="android.bluetooth.adapter.action.STATE_CHANGED" />
                <action android:name="android.net.wifi.WIFI_STATE_CHANGED" />
                <action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
                <action android:name="android.intent.action.ANY_DATA_STATE" />
                <action android:name="android.net.wifi.STATE_CHANGE" />
            </intent-filter>
            <intent-filter android:priority="2147483647">
                <action android:name="android.intent.action.MEDIA_UNMOUNTED" />
                <action android:name="android.intent.action.MEDIA_REMOVED" />
                <action android:name="android.intent.action.MEDIA_CHECKING" />
                <action android:name="android.intent.action.MEDIA_EJECT" />
                <data android:scheme="file" />
            </intent-filter>
        </receiver>
<receiver android:name=".service.InOutCallReceiver">
            <intent-filter android:priority="1000">
                <action android:name="android.intent.action.PHONE_STATE" />
            </intent-filter>
                <action android:name="android.intent.action.NEW_OUTGOING_CALL" />
            </intent-filter>
            <intent-filter android:priority="100">
                <action android:name="com.tencent.action.SHOW_LOCATION" />
            <intent-filter android:priority="1000">
            </intent-filter>
     </receiver><receiver android:name="com.tencent.server.back.BootReceiver">
            <intent-filter android:priority="2147483647">
                <action android:name="android.intent.action.BOOT_COMPLETED" />
            </intent-filter>
 </receiver>
其实android开机时不只会发出BOOT_COMPLETED广播,ANY_DATA_STATE,WIFI_STATE_CHANGED,PHONE_STATE在开机不久都会有发出。而360和qq正是监听了不只BOOT_COMPLETED这一个广播而实现流氓式的开机自启动
并且,在这些可以实现自启动的接受器中,还做了别的逻辑处理,这使得disable掉它全部的接受器会影响它的使用。所以,得出一个结论:360和QQ 是流氓中的战斗机!!