如何安全唤起其他应用

service,receiver,contentprovider,国产手机冷唤起均会拦截。


之前小米手机大范围吊起支付宝失败,是因为小米下发了这种禁止冷唤起service的策略。,而支付宝正好用了service实在是坑爹。


为什么微信能独善其身呢?通过反编译发现,是通过activity唤起的,这也可以理解,要是国产手机在把冷唤起activity给拦截,那就太不要脸了,完全和安卓系统背道而驰。


因此,activity冷唤起是目前唯一安全的方式。微信一直才去这种方式唤起,支付宝在遭遇国产手机坑爹的行为之后,也在调起service之前,先通过唤起activity,然后延时200毫秒左右,保证成功启动支付宝,然后在bindservice,完成支付冷调起。



通过activity调起,参数和回调怎么处理呢?


参数可以通过startactivity时,在intent中传递相关参数即可。


回调可以通过再次start调起放的activity或者监听onactivityresult。


此外回调可以通过在bundle中传递夸进程对象aidl binder实现,这样更加优雅。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容