我似乎无法理解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>
答案 0 :(得分:1)
你的论点是错误的 您已将Intent类别设置为类名。
这是new ComponentName(String pkg, String clss)
。其中:
pkg
是目标套餐,我不确定,您的情况是什么,AndroidManifest.xml
clss
是目标类,在您的情况下为com.google.android.talk