花费了好几个小时测试最终搞定了,Mono for android用一个APP启动其他隐藏应用程序。
直接看代码:
隐藏APP(被启动)要在manifest文件配置如下,去除原本的两个标签,修改成只有一个data
<Activity>
<activity android:icon="@drawable/icon" android:label="IOCPDroid" android:name="iocpdroid.IOCPActivity" android:exported="true">
<intent-filter>
<data android:host="iocpdroid.IOCPActivity" android:scheme="com.iocp" />
</intent-filter>
</activity>
<Activity/>
被启动APP如果提示没有Launch,那是正常的,因为你都没在manifest文件添加。
启动APP
Intent intent = new Intent();
ComponentName cn = new ComponentName("com.iocp", "iocpdroid.IOCPActivity");
intent.SetComponent(cn);
Uri data = Uri.Parse("com.iocp.iocpdroid.IOCPActivity");//此处应与B程序中Data中标签一致
intent.SetData(data);
StartActivity(intent);
两个APP绿色部分要相同,否则无法启动。
最后,肯定要加权限了。
<uses-permission android:name="android.permission.CHANGE_COMPONENT_ENABLED_STATE" />