我正在尝试动态功能和即时应用程序。为了在各种特性之间导航,我使用深度链接。
每次我导航到另一个活动时,我会看到不到1秒的消歧对话框,其中列出了1个应用程序。注意“once”和“always”(荷兰语)的选项是如何变灰的。
Github项目示例
我创建了一个极简的示例,它与我在GitHub上的当前结构相匹配。需要Android Studio 3.5-RC2
一些背景:
我很有信心,deeplinks的配置是正确的。但是既然你们想检查一下,下面是配置:
<activity
android:name=".ProfileActivity">
<intent-filter
android:autoVerify="true"
android:priority="100">
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data
android:host="giddy.entreco.nl"
android:pathPrefix="/profile"
android:scheme="http" />
<data android:scheme="https" />
</intent-filter>
</activity>
2-Assetlinks我的域包含一个可公开访问的Assetlinks.json
3-沙的是正确的,我用的沙的是正确的
Executing tasks: [signingReport] in project
SHA1: 3A:52:19:77:C1:AD:18:F4:98:21:77:74:37:DC:9B:89:02:64:6E:C6
SHA-256: 25:DD:C3:7B:8E:35:D3:39:D5:D4:6C:B5:EA:7D:14:AF:82:EC:9C:56:A6:F5:76:A3:E1:D7:69:B3:EC:58:72:E8
Valid until: Saturday, March 21, 2048
4-确认的数字资产链接文件所有检查通过https://digitalassetlinks.googleapis.com/v1/statements:list?source.web.site=https://giddy.entreco.nl&relation=delegate_permission/common.handle_all_urls
5-测试一个URL意图也工作!唯一的问题是我看到了一个简短的消歧对话框。
其他信息
>
我在我的所有模块中都使用apply插件:'com.android.dynamic-feature'
(除了app
偏离路线)
Android Studio:3.5RC2;Android-gradle-plugin:3.5.0-rc02
我的设备是OnePlus6-Oxywood 9.0.7和Android 9
谷歌官方示例也显示了我的设备上的这种行为
有什么建议可以让烦人的对话消失吗?当我分析apk/bundle时,我确实看到了特定活动
的两个条目。一次在基模块的清单中
,但也在配置文件模块的清单中
。我对Android/PlayStore如何在安装模块时合并这些清单知之甚少,但我想在这种情况下看到对话框是有意义的。
所以是的...我相信我以前见过这种情况,当通过URL意图从一个动态特性(即时)导航到另一个动态特性(非即时)时,这是一种奇怪的行为。
在这个问题得到解决之前,我不建议使用URL意图在模块之间导航,而是使用反射直接到达另一个模块的活动,例如:
if (doesModuleExist()) {
val intent = Intent()
.setClassName(getPackageName(), "com.sample.ProfileActivity")
.addCategory(Intent.CATEGORY_DEFAULT)
.addCategory(Intent.CATEGORY_BROWSABLE)
startActivity(intent)
}
其中doesmoduleexist()
检查是否:
>
检查示例清单,您的配置文件模块似乎不是即时应用程序dist:instant=“false”
的一部分,因此您永远无法访问它,因此您可以简单地执行isnotinstantapp()
检查,而不要尝试作为即时应用程序启动。
一旦在您安装的应用程序中,那么从技术上来说您不需要检查,因为它总是include=“true”
但是,如果您的配置文件模块是一个onDemand模块,或者只是为了安全预防,您应该使用splitinstallmanager.getinstalledmodules()
,请参见/app-bundle/playcore#manage_installed_modules(注意,您也可以在即时应用程序中使用此API)
由于这种奇怪的行为看起来在不同的设备之间有所不同,这可能意味着他们在拦截和处理URL意图方面实现了微妙的差异,和/或这只是一个不同的Android版本(pre-O vs O+)。
另外,如果将多个包名与common.handle_all_urls
的单个网站域相关联,当应用程序上线时,系统试图验证关联时,可能会导致一些额外的不当行为。
我目前正在开发适用于Android的即时应用程序,我想使用相机。我在片段中请求相机权限,但没有出现权限请求对话框。 这就是我在片段中请求权限的方式: 现在,我希望显示权限请求对话框,就像应用程序本身(com.android.Application)一样。不幸的是,它没有出现在即时应用程序(com.android.instantapp)中。 此外,我发现 调用,但使用grantResults[0]=
问题内容: 我将要做出一个按钮来采取行动,并将数据保存到数据库中。 用户单击按钮后,我希望JavaScript警报提供“是”和“取消”选项。如果用户选择“是”,则数据将被插入数据库,否则将不执行任何操作。 如何显示这样的对话框? 问题答案: 您可能正在寻找,显示提示并根据用户的决定返回或:
如果有人单击动态链接,我想在选择器应用程序中显示我的应用程序,我的android清单文件应该是什么?URL前缀类似于-https://testapp.page.link. 在这个阶段,如果有人点击链接,它会首先打开浏览器,然后重定向到我的应用程序。但我想在选择器应用程序列表中显示我的应用程序。此时,我的清单文件如下-
有人试用过新的Firebase SDK for Unity吗(https://firebase.google.com/docs/unity/setup)? 当我尝试集成动态链接功能时,当有邀请时,它会使应用程序崩溃。 我创建了一个全新的项目与最低设置(https://firebase.google.com/docs/dynamic-links/unity)为Android添加动态链接到我的项目。当
我想知道是否有什么方法可以使属性值动态。类似于这样: 感谢您的反馈。在我的例子中,属性值是系统特定的,应该在测试运行时生成。
我正在学习Spring boot application,并且有使用xml和java配置的Spring应用程序的经验。 我使用的应用程序具有包含UI、服务和DAO的代码基体系结构。所有这些组件都有单独的上下文文件,即。web-applicationcontext.xml或application-servlet-context.xml、service-context.xml和data-context