【发布时间】:2023-03-06 14:31:01
【问题描述】:
我正在构建一个 Android 应用程序,它的功能之一是它可以在其中打开站点,并且我的应用程序允许用户为这些站点创建图标,就像您使用 Chrome 在桌面上为某些站点添加图标一样. 但是,当您使用 Chrome 执行此操作时,对于渐进式 Web 应用程序,它会在浏览器的一个实例中逐一打开它们,我想对自己的应用程序执行完全相同的操作。
这是快捷方式的意图:
Intent shortcutIntent = new Intent(context, WebActivity.class);
shortcutIntent.setAction(Intent.ACTION_MAIN);
shortcutIntent.putExtra(Intent.EXTRA_SHORTCUT_NAME, appName);
shortcutIntent.putExtra("app_url", appUrl);
shortcutIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_DOCUMENT);
shortcutIntent.addFlags(Intent.FLAG_ACTIVITY_MULTIPLE_TASK);
这样,每次我单击快捷方式时它都会打开一个新任务,但如果它仅在后台没有运行该站点的任何任务时打开一个新任务,我真正需要的是什么。
如何检测到这一点以及解决方法以从后台打开任务或启动新任务?
【问题讨论】:
-
你做不到。你可以打开不同的活动
-
再一次,Chrome 完全符合我对渐进式网络应用程序快捷方式所做的工作。它是 Google 仅向其应用提供的私有功能吗?
标签: android android-intent android-activity android-manifest intentfilter