安卓一个程序调用其他程序的任一界面问题
2020-08-13 本文已影响0人
Ad大成
一般都是系统的通知栏或者推送 需要调起应用中的某一个界面进行交互 比如活动之类的
这边需求是打开之后可以返回的本应用的主界面
所以根据需求就是1.如何打开 2.多开的问题
Intent intentMain = new Intent();
intentMain.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
ComponentName componentName1 = new ComponentName(packName, startMain);
intentMain.setComponent(componentName1);
Intent intentWeb = new Intent();
ComponentName componentName = new ComponentName(packName, startActivityName);
intentWeb.setComponent(componentName);
intentWeb.setAction(Intent.ACTION_VIEW);
intentWeb.putExtra("startName",startName);
Intent[] intents={intentMain,intentWeb};
context.startActivities(intents);
以上的代码 是需要其他想打开你app的应用或者系统需要编写的代码
你只需要提供packName ,startMain startActivityName 这些参数
分别是APP 包名 appMain类的全路径名字 还有 指定界面的全路径名字
这里需要注意一个关键环节 就是你的app main 和想打开的指定界面都需要
在清单文件中吧入口设置为true
<activity
android:name=".MainActivity"
android:launchMode="singleTask"
android:exported="true"
android:screenOrientation="landscape" />
这样提供访问入口 其他程序或者系统才可以访问你
如何你想打开的是fragment 那么就可以利用传值 来判断打开的那个fragment 以上