/ / Programaticamente ocultar um aplicativo Android no Launcher? - android, intenção de android, gerenciadores de pacotes para android

Programaticamente ocultar um aplicativo Android no Launcher? - android, intenção de android, gerenciadores de pacotes para android

Eu estou tendo problemas para entender PackageManager parece. Para este exemplo eu quero esconder google talk app do lançador padrão. Qualquer ajuda seria apreciada :)

Na minha Main 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);
}
}

No meu 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>

Respostas:

1 para resposta № 1

Seus argumentos estão errados.
Você definiu a categoria Intenção como nome da classe.

Está new ComponentName(String pkg, String clss). Onde:

  • pkg é o pacote de destino, eu não tenho certeza, o que é no seu caso, ele não é mostrado na sua parte do AndroidManifest.xml
  • clss é a classe alvo, no seu caso com.google.android.talk