正在处理来自Google Assistant的深度链接。由于我现在只有一个模拟器,所以在测试它时遇到了困难(从我所读到的内容来看,它需要一个真正的设备(。也就是说,我想知道我是否以正确的方式处理它。我不熟悉Kotlin,我的代码正在变成试图集成的意大利面条,所以我把它放在我现有的启动器活动中,只是为了暂时启动它。manifest和actions.xml的设置与健身应用程序教程类似。
我这样做对吗?
if (mAuth.getCurrentUser() != null) {
data = this.getIntent().getData();
if (data != null && data.isHierarchical()) {
uriData = data.toString();
containsStart = containsIgnoreCase(uriData,"start");
containsRun = containsIgnoreCase(uriData,"run");
if(containsStart && containsRun) {
Intent intent = new Intent(getApplication(), RunActivity.class);
intent.putExtra("runStart", true);
startActivity(intent);
}
}
else {
checkUserAccType();
}
//Else, if there is no current user, start the Authentication activity
}
关于您的代码的一些观察和建议:
- 不使用
containsIgnoreCase
,而是使用getPath()
并匹配路径。请参见示例 - 此外,对于活动参数,请使用URL查询参数而不是
containsIgnoreCase
。参见示例 - 启动活动或片段。我认为
startActivity
和checkUserAccType
将处理该部分。请参见示例 - //否则。。。部分应该在下面一行
- 身份验证。看起来不错。而且您似乎是通过
getCurrent
方法签名来使用Firebase的。参见示例