从android上的应用程序抽屉中隐藏应用程序后未启动

从android上的应用程序抽屉中隐藏应用程序后未启动,android,hide,launch,Android,Hide,Launch,我有一个应用程序,我用一个广播接收器远程启动它。 我使用此方法将其从应用程序抽屉中隐藏: public static void hideFromAppDrawer(Context c) { ComponentName componentToDisable = new ComponentName( "mypackage", "mypackage.MyMainActivity"); c.getPackageManager().setC

我有一个应用程序,我用一个广播接收器远程启动它。 我使用此方法将其从应用程序抽屉中隐藏:

public static void hideFromAppDrawer(Context c) {
        ComponentName componentToDisable = new ComponentName(
                "mypackage", "mypackage.MyMainActivity");

        c.getPackageManager().setComponentEnabledSetting(componentToDisable,
                PackageManager.COMPONENT_ENABLED_STATE_DISABLED,
                PackageManager.DONT_KILL_APP);
    }
但是在隐藏之后,我隐藏了laucher活动,之后我想远程启动相同的活动,应用程序不会启动。日志上写着:

03-27 15:00:53.494: E/AndroidRuntime(23392): FATAL EXCEPTION: main
03-27 15:00:53.494: E/AndroidRuntime(23392): java.lang.RuntimeException: Unable to start receiver mypackage.receivers.myReceiver: android.content.ActivityNotFoundException: Unable to find explicit activity class {mypackage/mypackage.MyMainActivity}; have you declared this activity in your AndroidManifest.xml?
03-27 15:00:53.494: E/AndroidRuntime(23392):    at android.app.ActivityThread.handleReceiver(ActivityThread.java:2383)
当我尝试启动活动时,广播接收器的onReceive方法中存在错误:

context.startActivity(i);

03-27 15:00:53.494: E/AndroidRuntime(23392):    at ... .onReceive(MyReceiver.java:36)
当应用程序从应用程序抽屉中隐藏时,会出现什么问题以及如何启动应用程序

有什么问题吗

您已禁用该组件,这意味着它无法启动

当应用程序从应用程序抽屉中隐藏时,如何启动应用程序

您可以尝试以下方法:

设置一个清单条目,指向您的活动,其中包含您的主/启动器,从原始列表中删除该筛选器

使用上述Java代码禁用活动,保留原始活动不变

确保您的BroadcastReceiver引用活动,因为它应该已经引用了

原则上,这应该是有效的,尽管我还没有尝试过这个特定的配方

有什么问题吗

您已禁用该组件,这意味着它无法启动

当应用程序从应用程序抽屉中隐藏时,如何启动应用程序

您可以尝试以下方法:

设置一个清单条目,指向您的活动,其中包含您的主/启动器,从原始列表中删除该筛选器

使用上述Java代码禁用活动,保留原始活动不变

确保您的BroadcastReceiver引用活动,因为它应该已经引用了


原则上,这应该是有效的,尽管我还没有尝试过这个特定的食谱。

简单又棒!谢谢你的快速回答!首先,我犯了一个错误,因为我把别名活动放在了真正的活动之前,现在很好。简单又棒!谢谢你的快速回答!首先我得到了一个错误,因为我把别名活动放在了真实活动之前,现在可以了。