2017-04-10 63 views
0

我觉得这是一个令人尴尬的愚蠢问题,但是哦,只要我得到答案。如何使附近的通知打开现有的应用程序?

应用程序意图附近通知的用途是,点击通知的用户将被带到Play商店安装应用程序,如果他们没有它,或者它会打开应用程序,如果它已经安装。我的问题是,即使它已经安装,点击通知总是会将我带到应用程序的Play商店列表。

在Google Beacons仪表板中,我从列表中选择一个灯标,然后从仪表板中选择“查看附近的通知”。我输入标题,语言,确保选择生产模式,从下拉列表中选择“应用程序意图”。然后我有意图计划,意图路径,应用程序包名称的字段。

是否需要一个意图路径? 为什么不需要主机?

我不清楚我需要在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" 
         android:host="name.chadschultz.nearbyapidemo"/> 
</intent-filter> 

我在做什么错?

+0

这个通知是否会从您的应用中被解雇? –

+0

这是一个在用户设备中显示为低优先级通知的附近通知。该消息来自蓝牙信标。它是Nearby API的一部分。 https://developers.google.com/nearby/notifications/overview –

回答

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 shell am start -a android.intent.action.VIEW -d "nearbyapidemo://" name.chadschultz.nearbyapidemo

(用您的方案替换nearbyapidemo,用您的套件名称替换name.chadschultz.nearbyapidemo

当然,最好的测试是更新蓝牙信标并在出现时点击附近通知。