如何使附近通知打开现有的应用程序?

时间:2017-04-10 13:00:59

标签: android google-nearby

我觉得这是一个令人尴尬的愚蠢问题,但哦,好吧,只要我得到答案。

应用意图附近通知的目的是点击通知的用户将被带到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>

我做错了什么?

1 个答案:

答案 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替换为您的包裹名称)

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