3

私はアンドロイドゲームに取り組んでいます。

正常に動作していandroid manifestますが、アプリのアイコンから下の行を削除すると、1 つの質問が表示されます。これらの行を削除しないと、アプリのアイコンが Android に表示されません。

 <data android:host="mocha" android:path="/RTT/reset"
  android:scheme="content" />

アイコンが表示されない元のAndroidマニフェストは次のとおりです。

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="ihpc.mocha.rtt"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="12" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.READ_LOGS" />
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    <application
        android:name="com.game.rtt.RttGame"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:largeHeap="true"
        android:theme="@android:style/Theme.NoTitleBar" >
        <activity
            android:screenOrientation="sensorLandscape"
            android:name=".MainScene"
            android:label="@string/title_activity_main_scene" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

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

                 <!-- remove below lines to visible the icon start!!!-->
            <data
                android:host="mocha"
                android:path="/RTT/reset"
                android:scheme="content" />
             <!-- remove below lines to visible the icon end!!!-->
            </intent-filter>

        </activity>

      <activity
            android:name=".SessionTimeOutActivity"
            android:label="@string/app_name" 
            android:screenOrientation="reverseLandscape">
            <intent-filter>
                <action android:name="android.intent.action.VIEW" />

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

                <data
                    android:host="mocha"
                    android:path="/RTT/sessionTimeOut"
                    android:scheme="content" />
            </intent-filter>
        </activity>
    </application>

</manifest>

同じ理由を教えてください。

4

3 に答える 3

16

「インテント マッチングの使用」の時点で:

「インテントは、アクティブ化するターゲット コンポーネントを検出するだけでなく、デバイス上のコンポーネントのセットに関する何かを検出するために、インテント フィルターと照合されます。たとえば、Android システムはアプリケーション ランチャーを表示します。 「android.intent.action.MAIN」アクションと「android.intent.category.LAUNCHER」カテゴリを指定するインテント フィルターを使用してすべてのアクティビティを検索することにより、ユーザーが起動できるアプリケーション (前のセクションで説明したように)次に、それらのアクティビティのアイコンとラベルをランチャーに表示します。同様に、フィルタに「android.intent.category.HOME」を含むアクティビティを探して、ホーム画面を検出します。

アプリケーション ランチャーはランチャー アクティビティを認識しません。これは、アクティビティの一部のデータを想定しているためです。データをリクエストする場所に新しいインテント フィルタを追加してください。

例:

        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
        <intent-filter>
            <action android:name="android.intent.action.SEND"/>
            <category android:name="android.intent.category.DEFAULT" />
            <data android:mimeType="application/json"/>
        </intent-filter>
于 2013-03-12T10:04:24.477 に答える
4

それは私にも同じように起こります。次のように、データタグを別のインテントフィルターに追加して修正できます。

        <activity
        android:screenOrientation="sensorLandscape"
        android:name=".MainScene"
        android:label="@string/title_activity_main_scene" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

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

            </intent-filter>
        <intent-filter>
          <data
            android:host="mocha"
            android:path="/RTT/reset"
            android:scheme="content" />
         <!-- remove below lines to visible the icon end!!!-->
        </intent-filter>

    </activity>
于 2013-03-12T10:08:30.327 に答える
0

マニフェストのランチャー アクティビティに次の行を追加したところ、アイコンが表示されました。

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

次のようになります。

<activity
            android:name=".MainActivity"
            android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
于 2016-05-11T13:15:37.023 に答える