程序员Android开发经验谈

安卓一个程序调用其他程序的任一界面问题

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 以上

上一篇下一篇

猜你喜欢

热点阅读