Android - 在更新SDK版本23后,使用ACTION-VIEW intent-filter添加至少一个Activity
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android - 在更新SDK版本23后,使用ACTION-VIEW intent-filter添加至少一个Activity相关的知识,希望对你有一定的参考价值。
我在androidManifest.xml中获得以下工具提示:
Google搜索无法将应用程序编入索引;考虑使用ACTION-VIEW意图填充添加至少一个活动。有关详细信息,请参阅问题说明
添加深层链接以将您的应用添加到Google索引中,从Google搜索中获取应用的安装和流量。
任何人都可以解释为什么会这样吗?
从官方文件:
要使Google能够抓取您的应用内容并允许用户从搜索结果中输入您的应用,您必须为应用清单中的相关活动添加意图过滤器。这些意图过滤器允许深入链接到您的任何活动中的内容。例如,用户可以点击深层链接以查看购物应用中的页面,该页面描述用户正在搜索的产品。
使用此链接Enabling Deep Links for App Content,您将看到如何使用它。
并使用这个Test Your App Indexing Implementation如何测试它。
以下XML代码段显示了如何在清单中为深度链接指定intent过滤器。
<activity
android:name="com.example.android.GizmosActivity"
android:label="@string/title_gizmos" >
<intent-filter android:label="@string/filter_title_viewgizmos">
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<!-- Accepts URIs that begin with "http://www.example.com/gizmos” -->
<data android:scheme="http"
android:host="www.example.com"
android:pathPrefix="/gizmos" />
<!-- note that the leading "/" is required for pathPrefix-->
<!-- Accepts URIs that begin with "example://gizmos” -->
<data android:scheme="example"
android:host="gizmos" />
</intent-filter>
</activity>
通过Android Debug Bridge进行测试
$ adb shell am start
-W -a android.intent.action.VIEW
-d <URI> <PACKAGE>
$ adb shell am start
-W -a android.intent.action.VIEW
-d "example://gizmos" com.example.android
您可以通过在<intent-filter>
中的<activity>
中添加以下代码来删除警告
<action android:name="android.intent.action.VIEW" />
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="com.example.app"
tools:ignore="GoogleAppIndexingWarning">
您可以通过将xmlns:tools="http://schemas.android.com/tools"
添加到<manifest>
标记并将tools:ignore="GoogleAppIndexingWarning"
添加到<application>
标记来删除警告。
将此intent过滤器添加到app manifest中声明的其中一个活动,为我修复此问题。
<activity
android:name=".MyActivity"
android:screenOrientation="portrait"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
</intent-filter>
</activity>
以上是关于Android - 在更新SDK版本23后,使用ACTION-VIEW intent-filter添加至少一个Activity的主要内容,如果未能解决你的问题,请参考以下文章
更新到 sdk 版本 23 后,我的应用程序因一些浮动操作按钮错误而崩溃?
解决在sdk manager中更新文件后出现This Android SDK requires Android Developer Toolkit version 23.1的错误
此 Android SDK 需要 ADT 版本 23.0.0 或更高版本。当前版本是 22.6。请更新 ADT 到最新版本? [复制]
[转]关于sdk更新Android SDK Tools 25.3.1版本后使用sdk manager闪退