以编程方式在Launcher中隐藏Android应用程序?

时间:2013-12-12 04:05:21

标签: android android-intent android-package-managers

我似乎无法理解PackageManager。对于此示例,我想隐藏默认启动器中的google talk应用。任何帮助将不胜感激:)

在我的主Activity.java

if (HideMessageButton.isChecked()) {  
             //HideMessageButton.setChecked(true);  
                PackageManager pm = this.getPackageManager();
                pm.setComponentEnabledSetting(new ComponentName("com.google.android.talk",
                          "com.google.android.talk.LAUNCHER"),
                        PackageManager.COMPONENT_ENABLED_STATE_DISABLED,
                        PackageManager.DONT_KILL_APP);

            } else { 

                HideMessageButton.setChecked(false);  
            }
         }

在我的Manifest.xml中

 package="com.example.hideapp"
<activity
        android:name="com.google.android.talk"
        android:label="@string/talk" >
        <intent-filter>
            <action android:name="com.google.android.talk.MAIN" />
            <category android:name="com.google.android.talk.LAUNCHER" />
        </intent-filter>
    </activity>

1 个答案:

答案 0 :(得分:1)

你的论点是错误的 您已将Intent类别设置为类名。

这是new ComponentName(String pkg, String clss)。其中:

  • pkg是目标套餐,我不确定,您的情况是什么,AndroidManifest.xml
  • 中没有显示
  • clss是目标类,在您的情况下为com.google.android.talk