In Ihrem Fall kann der folgende Fall eintreten:
- Skype nicht installiert
- Skype ist deaktiviert
- Skype ist installiert
In den Fällen 1 und 2 können Sie nicht mit Skype telefonieren. Im Fall 3 können Sie über Skype anrufen. Bitte prüfen Sie die folgenden Fälle, um skype zu starten:
String appName = "Skype";
String packageName = "com.skype.raider";
openApp(context, appName, packageName);
public static void openApp(Context context, String appName, String packageName) {
if (isAppInstalled(context, packageName))
if (isAppEnabled(context, packageName))
context.startActivity(context.getPackageManager().getLaunchIntentForPackage(packageName));
else Toast.makeText(context, appName + " app is not enabled.", Toast.LENGTH_SHORT).show();
else Toast.makeText(context, appName + " app is not installed.", Toast.LENGTH_SHORT).show();
}
Prüfen Sie, ob die App installiert ist oder nicht:
private static boolean isAppInstalled(Context context, String packageName) {
PackageManager pm = context.getPackageManager();
try {
pm.getPackageInfo(packageName, PackageManager.GET_ACTIVITIES);
return true;
} catch (PackageManager.NameNotFoundException ignored) {
}
return false;
}
Prüfen Sie, ob die App aktiviert ist oder nicht:
private static boolean isAppEnabled(Context context, String packageName) {
boolean appStatus = false;
try {
ApplicationInfo ai = context.getPackageManager().getApplicationInfo(packageName, 0);
if (ai != null) {
appStatus = ai.enabled;
}
} catch (PackageManager.NameNotFoundException e) {
e.printStackTrace();
}
return appStatus;
}