将我的应用程序放入Google Now Phone搜索列表(Android全局搜索)

时间:2015-04-14 18:28:21

标签: android search

我想在Google即时快速搜索框中搜索我的应用。我按照一些例子,但它仍然无法运作。官方文件并不清楚如何使这个案例有效。

现在在检查了这些stackoverflow问题之后,我开始想知道这个功能是否仍然可供开发人员使用?

Is global search in android still available for developer?

How do I get my app to appear in Google Now's Phone Search list?

我确实看到一些应用仍然会进入"手机搜索"列表在快速搜索框设置中。如果是这样,任何人都可以为我解释一下?我的可搜索配置xml如下

<searchable xmlns:android="http://schemas.android.com/apk/res/android"
    android:label="@string/app_name"
    android:hint="@string/search_hint"
    android:searchSuggestAuthority="@string/search_authority"
    android:searchSuggestIntentAction="android.intent.action.VIEW"
    android:searchSuggestIntentData="content://some_search_authority"
    android:includeInGlobalSearch="true">
</searchable>

在此AndroidManifest.xml文件中,我为meta-data指定了SearchableActivity,例如

<activity ...>
    <intent-filter>
        <action android:name="android.intent.action.SEARCH" />
    </intent-filter>
    <meta-data
        android:name="android.app.searchable"
        android:resource="@xml/searchable" />
</activity>

1 个答案:

答案 0 :(得分:7)

不可能(至少 )。

Google音乐有一张Google即时贴,并且有类似的东西,你需要创建自己的卡 不幸的是,它还没有公共API:Google Now integrations

  

现在,来自应用的卡片正在开发中,并非适用于所有应用。当我们能够加入更多合作伙伴时,我们会通知您。

可以 做的是将您的应用添加到命令&#34;播放(乐队名称)(歌曲名称)&的建议列表中#34;

enter image description here

要实现这一目标,您必须将intent-fiter添加到ActivityAndroidManifest应该向 <activity android:name=".MusicActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> <intent-filter> <action android:name="android.media.action.MEDIA_PLAY_FROM_SEARCH" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </activity> 开放:

SELECT evnt.event_id,
   evnt.date_from,
   evnt.date_to,
   DATEDIFF(DD, evnt.date_from, evnt.date_to) 
   - (DATEDIFF(WK, evnt.date_from, evnt.date_to) * 2) 
   - CASE WHEN DATEPART(DW, evnt.date_from) = 1 THEN 1 ELSE 0 END 
   + CASE WHEN DATEPART(DW, evnt.date_to) = 1 THEN 1 ELSE 0 END AS Date_Diff
   - (SELECT COUNT(*) FROM public_holidays AS h WHERE h.date_from BETWEEN evnt.date_from AND evnt.date_to)
   FROM events AS evnt

您可以在此处查看Google即时语音命令列表:A list of all the Google Now voice commands

我希望,这有帮助