J'essaie d'ouvrir certaines applications en utilisant des noms de paquets et pour cela je suis en utilisant ce code:App s'écraser avec 'boolean android.content.Intent.migrateExtraStreamToClipData()' sur une référence d'objet null 'même lorsque try/catch block est là
public void openAppHavingPackageName(String packageName, String appName) {
try {
Intent intent = getBaseContext().getPackageManager().getLaunchIntentForPackage(packageName);
startActivity(intent);
} catch (ActivityNotFoundException e) {
Log.e(TAG, e.getMessage());
}
}
Il fonctionne bien quand je suis en train d'ouvrir les applications qui sont installées dans mon téléphone, mais quand j'ai essayé d'ouvrir une application qui n'est pas mon téléphone, l'application est écrasé donnant cette erreur:
java.lang.NullPointerException: Attempt to invoke virtual method 'boolean android.content.Intent.migrateExtraStreamToClipData()' on a null object reference
sur la ligne
startActivity(intent);
Comme vous pouvez le voir, j'ai un bloc il try/catch
alors pourquoi l'exception ne se faire prendre et place le code devient provoquant le crash course?