ฉันกำลังพยายามติดตั้งแอปจาก Google Play ฉันเข้าใจว่าเมื่อเปิด URL ของ Google Play Store จะเป็นการเปิด Google Play และเมื่อฉันกดปุ่มย้อนกลับกิจกรรมจะดำเนินต่อไป
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);
เมื่อฉันกลับไปที่กิจกรรมฉันลองโทรonResume()
ไปที่สิ่งนี้เพื่อตรวจสอบว่าติดตั้งแอพแล้วหรือยัง แต่ฉันได้รับข้อผิดพลาด:
@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 ;
}
ข้อผิดพลาดมีดังนี้:
E / AndroidRuntime (796): java.lang.RuntimeException: ไม่สามารถเริ่มกิจกรรม ComponentInfo {com.example.appinstaller / com.example.appinstaller.MainActivity}: android.content.ActivityNotFoundException: ไม่พบกิจกรรมที่จัดการกับ Intent {act = android .intent.action.VIEW dat = market: // details? id = com.package.name flg = 0x40080000}
onPause()
ผมคิดว่ากิจกรรมคือ มีวิธีที่ดีกว่าในการนำไปใช้หรือไม่? ฉันกำลังพยายามตรวจสอบว่าแอปติดตั้งเสร็จหรือไม่