Saya mencoba memasang aplikasi dari Google Play. Saya dapat memahami bahwa saat membuka URL toko Google Play, itu membuka Google Play dan ketika saya menekan tombol kembali, aktivitas dilanjutkan.
Intent marketIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(appURL));
marketIntent.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY | Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET);
startActivity(marketIntent);
Ketika saya kembali ke aktivitas, saya mencoba menelepon ini onResume()
untuk memeriksa apakah aplikasi telah diinstal, tetapi saya menerima kesalahan:
@Override
protected void onResume() {
super.onResume();
boolean installed = false;
while (!installed) {
installed = appInstalledOrNot(APPPACKAGE);
if (installed) {
Toast.makeText(this, "App installed", Toast.LENGTH_SHORT).show();
}
}
}
private boolean appInstalledOrNot(String uri) {
PackageManager pm = getPackageManager();
boolean app_installed = false;
try {
pm.getPackageInfo(uri, PackageManager.GET_ACTIVITIES);
app_installed = true;
}
catch (PackageManager.NameNotFoundException e) {
app_installed = false;
}
return app_installed ;
}
Kesalahannya adalah sebagai berikut:
E / AndroidRuntime (796): java.lang.RuntimeException: Tidak dapat memulai aktivitas ComponentInfo {com.example.appinstaller / com.example.appinstaller.MainActivity}: android.content.ActivityNotFoundException: Tidak ada Aktivitas ditemukan untuk menangani Intent {act = android .intent.action.VIEW dat = market: // details? id = com.package.name flg = 0x40080000}
Saya kira aktivitasnya onPause()
. Apakah ada cara yang lebih baik untuk menerapkannya? Saya mencoba memeriksa apakah aplikasi telah selesai dipasang.