0

searchviewを使用した組み込み検索のマニフェストコード。誰かが私にそれの何が悪いのか教えてもらえますか?SearchableActivityはscr->プレゼンテーションで作成され、search.xmlと呼ばれるxmlレイアウトを使用しています。私はAndroidを初めて使用し、コードの何が問題になっているのかを見つけることができません。単語を入力して検索ビューを起動し、キーボードの[Go]を押すと、デバッガーはActivityThread.perfor ....を開き、ソースが見つからないことを通知します。

これが私の穴manifest.xmlです:

   <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="myTV.Android"
android:versionCode="4"
android:versionName="1.12" >

<uses-sdk
    android:minSdkVersion="11"
    android:targetSdkVersion="12" />

<uses-feature
    android:name="com.google.android.tv"
    android:required="true" />
<uses-feature
    android:name="android.hardware.touchscreen"
    android:required="false" />

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />

<application
    android:icon="@drawable/mytv"
    android:label="@string/app_name"
    android:theme="@style/Theme.Transparent" >
    <activity android:name="myTV.Presentation.Main" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity android:name="myTV.Presentation.Player" >
    </activity>
    <activity android:name="myTV.Presentation.VODCatalogGenre" >
    </activity>
    <activity android:name="myTV.Presentation.VODCatalog" >
    </activity>
    <activity android:name="myTV.Presentation.HomePage" >
    </activity>
    <activity android:name="myTV.Presentation.Programs" >
    </activity>
    <activity android:name="myTV.Presentation.Episodes" >
        <intent-filter>
            <action android:name="android.intent.action.SEARCH" />
        </intent-filter>
    </activity>
    <activity android:name="myTV.Presentation.ChannelsListing" >
    </activity>
    <activity android:name="myTV.Presentation.Packages" >
    </activity>
    <activity android:name="myTV.Presentation.SpecialOfferContent" >
    </activity>
    <activity android:name="myTV.Presentation.linkedpage" >
    </activity>
    <activity android:name="myTV.Presentation.howtolinkdevice" >
    </activity>
    <activity android:name="myTV.Presentation.OnlineRegister" >
    </activity>
    <activity android:name="myTV.Presentation.SpecialOffer" >
    </activity>
    <activity android:name="myTV.Presentation.MyVOD" >
    </activity>
    <activity android:name="myTV.Presentation.SearchEpisodes" >
    </activity>
    <activity android:name=".Countries" />
    <activity android:name=".Genres" />
    <activity android:name=".WeeklyRecap" />


    <meta-data
        android:name="android.app.default_searchable"
        android:value=".SearchableActivity" />
    <activity android:name=".SearchableActivity" > 
        <intent-filter>
            <action android:name="android.intent.action.SEARCH" />
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
        <intent-filter>
            <action android:name="android.intent.action.VIEW" />
        </intent-filter>

        <meta-data
            android:name="android.app.searchable"
            android:resource="@xml/searchable" />
    </activity>
</application>

    import myTV.Android.R;
    import android.app.Activity;
    import android.app.SearchManager;
    import android.content.Context;
    import android.content.Intent;
    import android.os.Bundle;
    import android.widget.Toast;

    public class SearchableActivity extends Activity{

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.search);

    // Get the intent, verify the action and get the query
    Intent intent = getIntent();
    if (Intent.ACTION_SEARCH.equals(intent.getAction())) {
      String query = intent.getStringExtra(SearchManager.QUERY);
      doMySearch(query);
    }
}
public void doMySearch(String query){
    //new Request().Search(query);
    //new SearchEpisodes().Search(query);
    Context context = getApplicationContext();
    CharSequence text = query;
    int duration = Toast.LENGTH_LONG;

    Toast toast = Toast.makeText(context, text, duration);
    toast.show();
}


    }

これが私のsearchable.xmlです:

    <searchable xmlns:android="http://schemas.android.com/apk/res/android"
        android:label="@string/app_name"
        android:hint="@string/SearchHint" >
</searchable>
4

2 に答える 2

0

あなたの活動はあなたのアプリケーションの外には見えないと思います。

試してみてくださいandroid:exported="true"

于 2013-02-19T10:53:00.987 に答える
0

に以下を追加してみてください<intent-filter>

<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
于 2013-02-19T10:56:13.350 に答える