您的位置:首页 > 产品设计 > UI/UE

Android中UID机制和共享进程

2014-04-28 11:54 232 查看
前一段做项目过程中遇到一个问题,需要第三方apk能够打开我的apk中的某个组件,

正常情况来说,第一个想到的就是共享uid, 只是,和第三方公司并不是很亲密,这种举动是很危险的,然后,我们知道一个程序中的入口activity都带有intent-filter,默认有filter的时候,相当于android:exported=”true”,这也就是为什么可以随意打开一个程序的入口activity

只有在需要被别人打开的activity清单注册的时候加上android:exported=”true”或者添加intent-filter即可。

本以为大功告成,但是,当打开的组件中有自定义控件的时候,会crash,追其缘由,发现,直接打开一个带有自定义控件的组件时,自定义组件还没有初始化好,或者说是因为context不对,导致的。那么如何解决这个问题呢?

我改变了直接打开组件的想法,而是只打开入口activity,在intent中添加参数from,在需要打开的程序的入口activity中获取这个参数,根据这个参数来判定,我需要打开什么组件,这样,使用的context就是正确的,自定义控件也自然没有问题啦!

希望对大家有帮助。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: