如何使用BroadcastReceiver在android应用程序(无图标)中启动活动?
我在我的设备上运行安卓4.4,并试图开发一个隐藏屏幕,只有在从拨号器输入一个键码时才会触发。为此,我将清单文件声明为如何使用BroadcastReceiver在android应用程序(无图标)中启动活动?,android,broadcastreceiver,Android,Broadcastreceiver,我在我的设备上运行安卓4.4,并试图开发一个隐藏屏幕,只有在从拨号器输入一个键码时才会触发。为此,我将清单文件声明为 <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.test.hiddenscreen"> <uses-permission android:name="andr
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.test.hiddenscreen">
<uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme">
<activity
android:name=".HiddenInfoScreen"
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>
<receiver
android:name=".SecretKeyInputReceiver"
android:enabled="true"
android:exported="true">
<intent-filter android:priority="0">
<!-- Intent for new outgoing call -->
<action android:name="android.intent.action.NEW_OUTGOING_CALL" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</receiver>
</application>
</manifest>
现在,安装活动后,启动器中没有图标(如预期),但从拨号板拨“00000”时,不会显示活动。是的,我也试过设置其他不同长度的数字,但都不起作用。请帮我做这个。
我还尝试了将图标添加到启动器中,并在活动启动后使用PackageManager删除图标的方法
PackageManager p = getPackageManager();
p.setComponentEnabledSetting(getComponentName(),
PackageManager.COMPONENT_ENABLED_STATE_DISABLED,
PackageManager.DONT_KILL_APP);
但这意味着即使通过钥匙码也无法启动该活动
你的投入将得到重视。我的目标是应用程序运行在Android 3.1+之上,因此使用BootComplete启动应用程序的活动是没有用的。为什么需要广播你也可以从intent启动。.将该活动标记为Exported你想打开frmo Differ软件包吗?你能分享一个示例吗?你能来stackoverflow聊天吗?抱歉刚才看到了通知。我现在正在聊天。
PackageManager p = getPackageManager();
p.setComponentEnabledSetting(getComponentName(),
PackageManager.COMPONENT_ENABLED_STATE_DISABLED,
PackageManager.DONT_KILL_APP);