2013-01-06 41 views
1

我使用下面的代码从启动器中删除我的应用程序:禁用其他活动的活动?

if (!dialercode.getText().toString().equals("")) { 
        getPackageManager().setComponentEnabledSetting(
          getComponentName(), 
          PackageManager.COMPONENT_ENABLED_STATE_DISABLED, 
          PackageManager.DONT_KILL_APP); 
       } 

然而,这也将停止该活动通过其他方式被推出(密码)。

因此,我已经设置了一个单独的Launcher活动,它将被禁用(所有Launcher活动都会启动主要活动)。

但是,我不知道如何通过主要活动禁用Launcher.java活动 - IE我如何在不同活动中获取Launcher活动的组件名称?

+0

最后,您是否想要在任何时候在启动器中显示“活动”? – Luksprog

+0

是的,当它第一次安装,所以它可以打开,所以密码广播接收机将工作,但我找到了一个解决方案,我现在会发布:) –

回答

0

我发现了解决方案,而不是使用getComponentName()使用:

new ComponentName(context, Activity.class)哪里活动是您希望禁用活动的名称。你可以在你的应用程序的任何活动中使用它。