在Android应用程序中快速搜索

时间:2012-02-08 17:06:05

标签: android search quick-search

我正在制作一个需要显示简单快速搜索的Android应用程序,但为此我需要更改:

<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />

要:

<action android:name="android.intent.action.SEARCH" />
<category android:name="android.intent.category.DEFAULT" />

但是一旦我做了,应用程序找不到启动器活动,我该如何解决这个问题?这是我正在使用的代码:


<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.mysoftwaremobileapps.School"
android:versionCode="1"
android:versionName="1.0" >

<uses-sdk android:minSdkVersion="3" />

<application
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name" >
    <activity
        android:label="@string/app_name"
        android:name=".SchoolActivity" >
        <intent-filter >
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
        <meta-data android:name="android.app.searchable"
        android:resource="@xml/searchable" />
    </activity>
    <activity android:name=".GoogleActivity" android:label="@string/app_name"></activity>
    <activity android:name=".WikipediaActivity" android:label="@string/app_name"></activity>
    <activity android:name=".ProjectsActivity" android:label="@string/app_name"></activity>
    <activity android:name=".NotesActivity" android:label="@string/app_name"></activity>
    <activity android:name=".SearchFunction" android:label="@string/app_name">
        <intent-filter android:label="ACTION_SEARCH"></intent-filter>
    </activity>
</application>

1 个答案:

答案 0 :(得分:0)

searchable activity中没有LAUNCHER存在的原因。

可搜索活动的重点是,在用户触发搜索后,您的活动会receives搜索查询,searches您的数据存储,最后presents结果。

现在,如果您想要一个与您的数据存储相关的单独的活动,例如输入或导入数据,那么请务必继续创建另一个活动,并将LAUNCHER分配给那个活动。可搜索的活动并不意味着LAUNCHER活动。