没有应用图标的应用程序

5

我计划做一个仅包含一个活动且没有应用程序图标的应用程序,我需要使用键盘打开此活动。例如,每当您拨打12345时,我的应用程序活动应该在没有应用程序图标的情况下打开。这在Android中是否可能?如何实现?


你找到解决方案了吗?如果是的话,我会很感激你能分享一下。 - user1035955
3个回答

12

只需从AndroidManifest.xml文件的主Activity中删除android.intent.category.LAUNCHER,即可解除应用程序的启动。

您无法通过拨打*#*#12345#*#*来打开应用程序,因为您必须编写一个接收以下操作的接收器。

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

然后您可以通过从广播接收器触发Intent来打开您的应用程序。但是安卓不允许这样做,除非您的应用程序是*系统应用*。

以下是可以帮助您完成此操作的代码 在清单中更改活动以没有意图过滤器

<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类中,触发一个意图来启动活动。

然后在拨号键盘中输入* # * #(秘密代码)# * # *将启动该应用程序。


4
您必须在AndroidManifest.xml文件的application元素中的android:icon属性中指定可绘制资源。根据文档的说明:

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


但是,指定的可绘制资源不需要是一个图标,它可以在您的资源中定义为颜色。
<?xml version="1.0" encoding="utf-8"?>
<resources>
   <drawable name="color_icon">#ff0000</drawable>
</resources>

然后在你的 AndroidManifest.xml 中指定它:

<?xml version="1.0" encoding="utf-8"?>
<manifest ...>  
    <application android:icon="@drawable/color_icon" ...>
       ...
    </application>  
</manifest> 

当您打开应用程序启动器时,您会看到类似于以下内容:

enter image description here


为了防止应用程序抽屉中显示图标,请参考此答案https://dev59.com/umzXa4cB1Zd3GeqPYNjm#14175020。 - Will Kru

1
只需从清单文件中删除“category”标签。
  <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>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接