मैं Google Play से ऐप्स इंस्टॉल करने का प्रयास कर रहा हूं। मैं समझ सकता हूं कि Google Play store URL खोलने पर, यह 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 {अधिनियम = Android को हैंडल करने के लिए कोई गतिविधि नहीं मिली। .intent.action.VIEW dat = market: // details? id = com.package.name flg = 0x400800/2}
मुझे लगता है कि गतिविधि है onPause()
। क्या इसे लागू करने का एक बेहतर तरीका है? यदि एप्लिकेशन इंस्टॉल करना समाप्त हो गया है, तो मैं जांचने का प्रयास कर रहा हूं।