我正在开发一款安卓游戏。
它工作正常,但我有一个问题,如果我从我的android manifest
删除下面的行,我的应用图标是可见的。如果我不删除这些行,那么我的应用程序图标在我的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>
请告诉我相同的原因?
答案 0 :(得分:15)
“意图与意图过滤器匹配,不仅要发现要激活的目标组件,还要发现设备上的组件集。例如,Android系统填充应用程序启动器,顶部-level屏幕,通过使用指定“android.intent.action.MAIN”操作和“android.intent.category.LAUNCHER”类别的intent过滤器查找所有活动,显示可供用户启动的应用程序(如然后,它会在启动器中显示这些活动的图标和标签。同样,它会通过在其过滤器中查找带有“android.intent.category.HOME”的活动来发现主屏幕。“
应用程序启动程序无法识别您的启动器活动,因为您假设某些活动数据。请在请求数据时添加新的intent过滤器。
示例:
<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>
答案 1 :(得分:3)
对我来说也是如此。您可以修复它将数据标记添加到另一个intent-filter中,如下所示:
<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>
答案 2 :(得分:0)
我刚刚将这一行添加到Manifest中的启动器活动中,并显示了图标:
<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>