我已经更改了applicationId,之后我的应用程序中的搜索功能停止了工作。我通过以下方式发起搜索:
activity.onSearchRequested();
AndroidManifest.xml的基本部分:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.androzic" >
<application
android:name=".Androzic"
android:icon="@drawable/icon"
android:label="@string/app_name" >
<activity
android:name=".SearchableActivity"
android:exported="true"
android:label="@string/search_name"
android:launchMode="singleTop" >
<intent-filter>
<action android:name="android.intent.action.SEARCH" />
</intent-filter>
<meta-data
android:name="android.app.searchable"
android:resource="@xml/searchable" />
</activity>
</application>
</manifest>
build.gradle的基本部分:
apply plugin: 'com.android.application'
android {
compileSdkVersion 21
buildToolsVersion "21.1.2"
defaultConfig {
applicationId "com.androzic.v2"
minSdkVersion 8
targetSdkVersion 21
}
}
如果我的applicationId与包ID不同,如何正确配置搜索?
答案 0 :(得分:0)
在</application>
<meta-data
android:name="android.app.default_searchable"
android:value=".SearchableActivity" />
答案 1 :(得分:0)
如果您指定的applicationId具有除package属性之外的其他值,则可以将完全限定类名设置为元数据元素的android:value,如下所示。
<activity
android:name="com.androzic.SearchableActivity"
.../>
或
<meta-data
android:name="android.app.default_searchable"
android:value="com.androzic.SearchableActivity" />