没有应用程序图标

时间:2011-06-21 13:50:29

标签: android

我打算做一个只包含一个活动且没有任何应用图标的应用,我需要使用键盘打开此活动。比如说,每当您拨打12345时,我的应用程序活动应该在没有应用程序图标的情况下打开。这在Android中可行吗?怎么样?

3 个答案:

答案 0 :(得分:12)

只需从 AndroidManifest.xml

中的主要活动中删除 android.intent.category.LAUNCHER

您无法通过拨打*#*#12345#*#*来打开应用,因为为了做到这一点,您必须为接下来的操作编写接收器

<action android:name="android.provider.Telephony.SECRET_CODE" />

然后,您可以通过从该广播接收器触发Intent来打开您的应用。 但是在您的应用为* 系统应用 之前,Android不允许这样做。 *

以下是可以帮助您的代码 将Manifest中的活动更改为没有像

这样的意图过滤器
<activity
            android:name=".MyApp"
            android:label="@string/title_activity_parent_trap"
            android:theme="@android:style/Theme.Holo" >
        </activity>
<receiver android:name=".MyApp$Launch" >
            <intent-filter>
                <action android:name="android.provider.Telephony.SECRET_CODE" />

                <data
                    android:host="(secret code)"
                    android:scheme="android_secret_code" />
            </intent-filter>
        </receiver>

完成后,创建一个类(我在我的主类中创建了Launch类,扩展了BroadCast Receiver),然后在onReceive类中启动了一个启动活动的意图。

然后在拨号器中键入*#*#(secret code)#*#*将启动该应用。

答案 1 :(得分:4)

您必须在android:icon的{​​{1}}元素中为application属性指定可绘制资源。来自documentation

  

必须将此属性设置为对包含图像的可绘制资源的引用(例如“@ drawable / icon”)。没有默认图标。


但指定的drawable不需要是一个图标。它可以在您的资源中定义为颜色:

AndroidManifest.xml

然后在<?xml version="1.0" encoding="utf-8"?> <resources> <drawable name="color_icon">#ff0000</drawable> </resources>

中指定它
AndroidManifest.xml

您将在应用程序启动板中看到类似的内容:

enter image description here

答案 2 :(得分:1)

只需从清单文件中删除“类别”标记

  <activity
        android:name="com.example.airplanemode.MainActivity"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category />
        </intent-filter>
    </activity>