Tôi đang cố gắng cài đặt ứng dụng từ Google Play. Tôi có thể hiểu rằng khi mở URL cửa hàng Google Play, nó sẽ mở Google Play và khi tôi nhấn nút quay lại, hoạt động sẽ tiếp tục.
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);
Khi tôi quay lại hoạt động, tôi đã thử gọi cái này onResume()
để kiểm tra xem ứng dụng đã được cài đặt chưa, nhưng tôi nhận được lỗi:
@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 ;
}
Lỗi như sau:
E / AndroidRuntime (796): java.lang.RuntimeException: Không thể bắt đầu hoạt động ComponentInfo {com.example.appinstaller / com.example.appinstaller.MainActivity}: android.content.ActivityNotFoundException: Không tìm thấy Hoạt động nào để xử lý Intent {act = android .intent.action.VIEW dat = market: // details? id = com.package.name flg = 0x40080000}
Tôi đoán là hoạt động onPause()
. Có cách nào tốt hơn để thực hiện nó không? Tôi đang cố gắng kiểm tra xem ứng dụng đã cài đặt xong chưa.