我计划做一个仅包含一个活动且没有应用程序图标的应用程序,我需要使用键盘打开此活动。例如,每当您拨打12345
时,我的应用程序活动应该在没有应用程序图标的情况下打开。这在Android中是否可能?如何实现?
我计划做一个仅包含一个活动且没有应用程序图标的应用程序,我需要使用键盘打开此活动。例如,每当您拨打12345
时,我的应用程序活动应该在没有应用程序图标的情况下打开。这在Android中是否可能?如何实现?
只需从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类中,触发一个意图来启动活动。
然后在拨号键盘中输入* # * #(秘密代码)# * # *
将启动该应用程序。
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>
当您打开应用程序启动器时,您会看到类似于以下内容:
<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>