1 | graph LR |
在AndroidManifest中:manifest
标签中添加android:sharedUserId="xxxx"
启动时:startActivity(new Intent().setComponent(new ComponentName("com.example.zhu","com.example.zhu.XxxActivity")));
在Manifest中添加exported属性<activity android:name=".BActivity" android:exported="true"/>
启动时:startActivity(new Intent().setComponent(new ComponentName("com.example.zhu","com.example.zhu.XxxActivity")));
在Manifest的Activity标签中添加:
1 | <intent-filter> |
启动时:startActivity(new Intent("android.intent.action.TEST"))
Activity加权限
给AppA的manifest中添加权限:
<uses-permission android:name="com.example.zhu"/>
gei AppB中需要启动的Activity添加permission属性:
android:permission="com.example.zhu"
启动时:使用隐式跳转
这种添加权限的方法必须要AppB先安装,否则AppA无法获取权限
拒绝服务漏洞
在被启动的Activity中,getIntent().getExtras()
获取的bundle对象中如果有的序列化数据,无法被反序列化成对象,程序就会崩溃(报找不到反序列化对象的exception),此时需要对bundle的操作加try-catch。