android - 隐藏应用程序图标并运行它

标签 android android-intent android-activity

我需要隐藏应用程序图标。
并通过拨号运行程序
示例:*12345#

我无法运行已隐藏的程序。

隐藏应用:

PackageManager p = getPackageManager();
            ComponentName componentName = new ComponentName(this, com.example.broadcastreciver.MainActivity.class); // activity which is first time open in manifiest file which is declare as <category android:name="android.intent.category.LAUNCHER" />
            p.setComponentEnabledSetting(componentName,PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP);


运行主 Activity :

Intent appIntent = new Intent(context, Blank.class);
            appIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
           context.startActivity(appIntent);



这是 AndroidManifest.xml

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name=".MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

        <receiver android:name=".IncomingSms" >
            <intent-filter>
                <action android:name="android.provider.Telephony.SMS_RECEIVED" />
                <action android:name="android.intent.action.BOOT_COMPLETED" />
                <action android:name="android.intent.action.NEW_OUTGOING_CALL" />
            </intent-filter>
        </receiver>

        <activity
            android:name=".Blank"
            android:label="@string/title_activity_blank" >
        </activity>
    </application>

最佳答案

如果禁用 Activity ,则无法启动它。您真正想要做的是禁用或删除 <intent-filter>在 Activity 上。不幸的是,无法删除甚至检查 list Intent 过滤器(请参阅 this bug)。

你可以做的是定义一个 <activity-alias> <intent-filter> s,并改为启用/禁用此组件。当 Activity 别名被禁用时,您仍然可以使用隐式 Intent 启动目标 Activity ,但应用程序不应出现在启动器中,因为禁用的组件是具有 action.MAIN 和 category.LAUNCHER Intent 过滤器的组件.

关于android - 隐藏应用程序图标并运行它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26129197/

相关文章:

android - 单击时突出显示 RecyclerView 中的选定项目

java - 是否可以覆盖断电操作?

android - 如何避免在启动 Activity 时调用 onCreate()?

生命周期方法的Android实现可以在做任何工作后调用父类(super class)实现吗?

java - fragment 上的传感器管理器(如果可见则添加;如果不可见则删除)

java - 为什么RecyclerView在BottomNavigationView下面?

android - 由于 'X-Frame-Options' 设置为 'SAMEORIGIN',因此链接在 WebView 中不起作用

android - 读取 webview 小部件的 HTML 内容

android - Android 中的 Intent 附加功能

带有 Kotlin 的 Android - 将数据传回上一个 Activity