Question

I am making an android application that needs to display a simple quick search, but to do this i need to change the:

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

To:

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

But once I do, the application doesn't find a launcher activity, how can i fix this? This is the code that i am using:


<?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>

Was it helpful?

Solution

There is no reason for a LAUNCHER to exist in a searchable activity.

The point of a searchable activity is that after a search is triggered by the user, your activity then receives the search query, searches your datastore, and finally presents the results.

Now if you wanted a separate activity that does something related to your datastore, for example input or import data, then by all means go ahead and create another activity and assign LAUNCHER to that activity. The searchable activity isn't meant to be a LAUNCHER activity.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top