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就是正确的,自定义控件也自然没有问题啦!
希望对大家有帮助。
正常情况来说,第一个想到的就是共享uid, 只是,和第三方公司并不是很亲密,这种举动是很危险的,然后,我们知道一个程序中的入口activity都带有intent-filter,默认有filter的时候,相当于android:exported=”true”,这也就是为什么可以随意打开一个程序的入口activity
只有在需要被别人打开的activity清单注册的时候加上android:exported=”true”或者添加intent-filter即可。
本以为大功告成,但是,当打开的组件中有自定义控件的时候,会crash,追其缘由,发现,直接打开一个带有自定义控件的组件时,自定义组件还没有初始化好,或者说是因为context不对,导致的。那么如何解决这个问题呢?
我改变了直接打开组件的想法,而是只打开入口activity,在intent中添加参数from,在需要打开的程序的入口activity中获取这个参数,根据这个参数来判定,我需要打开什么组件,这样,使用的context就是正确的,自定义控件也自然没有问题啦!
希望对大家有帮助。
相关文章推荐
- Android中startActivity中的permission检测与UID机制 共享进程
- Android中UID机制和共享进程
- Android中UID机制和共享进程
- Android中UID机制和共享进程
- Android中UID机制和共享进程
- Android中UID机制和共享进程
- Android中UID机制和共享进程
- Android中UID机制和共享进程
- Android中startActivity中的permission检测与UID机制 共享进程
- Android后台保活机制,应用进程长存的可行性分析
- android sharedparence跨进程共享数据
- AIDL/IPC Android AIDL/IPC 进程通信机制——超详细讲解及用法案例剖析(播放器)
- 浅谈Service Manager成为Android进程间通信(IPC)机制Binder守护进程之路
- 收藏-------------Android应用程序组件Content Provider的共享数据更新通知机制分析
- Android IPC机制 开启多进程
- Android通过共享用户ID来实现多个Activity进程共享
- Android中startActivity中的permission检测与UID机制
- Android中进程之间通信的机制--Activity
- Android IPC进程间通讯机制学习笔记
- 浅谈Service Manager成为Android进程间通信(IPC)机制Binder守护进程之路