1. com.igexin.sdk.GActivity 的关联唤醒现象
手机系统中监听启动类型为activity,一般可以在下述函数埋点
- AcitivityManagerService 的 startProcessLocked 函数中
- ActivityStarter 的 start-activity 函数
如果这里不进行过滤黑名单 com.igexin.sdk.GActivity ,则会导致系统大量在Manifest中存在该组件的应用关联唤醒,造成开机自启动,或者后天自启动
startProcessLocked # processName=com.sdu.didi.psnger:pushservice, pkg=com.sdu.didi.psnger, start-type=activity, name=com.sdu.didi.psnger/com.igexin.sdk.GActivity
2. com.igexin.sdk.GActivity
该组件无可视界面,可认为是针对一些后台管理针对启动类型为activity就允许启动而做了个取巧的方式,从而达到可以被其他应用唤醒启动,达到保持正常推送的功能。
<activity
android:name="com.igexin.sdk.GActivity"
android:excludeFromRecents="true"
android:exported="true" // 可被其它应用调用
android:process=":pushservice" <!--就是这里,process属性-->
android:taskAffinity="com.igexin.sdk.PushActivityTask"
android:theme="@android:style/Theme.Translucent.NoTitleBar"/>
上述组件主要是维持个推推送服务的后台运行,反正被系统kill.当然主流的手机厂商等后台管理做的好的厂商一般都会识别,即使该组件是activity启动也不允许后台自运行。