我觉得这是一个令人尴尬的愚蠢问题,但哦,好吧,只要我得到答案。
应用意图附近通知的目的是点击通知的用户将被带到Play商店以安装应用(如果他们没有),或者它将打开应用(如果已安装) 。我的问题是,即使已经安装,点按通知也会将我带到应用的Play商店列表。
在Google Beacons信息中心,我从列表中选择一个信标,然后选择"查看附近的通知"从仪表板。我输入标题,语言,确保选择生产模式,选择"应用意图"从下拉列表。然后我有用于意图方案,意图路径,应用程序包名称的字段。
是否需要意图路径? 为什么不需要主持人?
我不清楚我需要在AndroidManifest.xml中设置哪个intent过滤器。这就是我想要的:
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.BROWSABLE"/>
<data android:scheme="nearbyapidemo"
android:host="name.chadschultz.nearbyapidemo"/>
</intent-filter>
我做错了什么?
答案 0 :(得分:2)
现实生活中的善良开发者指出了我的错误。这就是我需要在AndroidManifest.xml
中为我想要开始的活动添加的所有内容:
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.BROWSABLE"/>
<data android:scheme="nearbyapidemo"/>
</intent-filter>
我不需要主机的值。愚蠢的错误对我而言!
然后当我配置信标时,我只需要输入方案(无论我在AndroidManifest.xml
中为方案输入的任意值,然后是应用程序的包名。我可以在清单中留下空白路径Beacon控制台。
现在,当我点击“附近通知”时,如果没有安装,它将安装应用程序,或者如果安装了应用程序,则会打开应用程序。
我学到的另一个提示:我可以通过
直接从ADB测试Intent adb shell am start -a android.intent.action.VIEW -d "nearbyapidemo://" name.chadschultz.nearbyapidemo
(将[{1}}替换为您的方案,将nearbyapidemo
替换为您的包裹名称)
当然,最好的测试是更新蓝牙信标,并在出现时点击附近的通知。