سؤال

يحاول تطبيقي تثبيت APK.

Intent installIntent = new Intent(Intent.ACTION_INSTALL_PACKAGE);
installIntent.setData(Uri.fromFile(new File(pathToApk)));
installIntent.putExtra(Intent.EXTRA_NOT_UNKNOWN_SOURCE, true);
installIntent.putExtra(Intent.EXTRA_RETURN_RESULT, true);
installIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
((Activity)context).startActivityForResult(installIntent, Constants.APP_INSTALL_REQUEST);

في نشاطي

protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        switch (requestCode) {
        case Constants.APP_INSTALL_REQUEST:
            if(resultCode == RESULT_OK){
                Log.e(TAG, "Package Installation Success");
            }else if(resultCode == RESULT_FIRST_USER){
                Log.e(TAG, "Package Installation Cancelled by USER");
            }else{
                Log.e(TAG, "Something went wrong - INSTALLATION FAILED");
            }

عندما يتم إطلاق StartActivityResult الخاص بي ، يحصل نشاطي على الفور على رمز النتيجة 0 الذي يتوافق مع Result_Cancelled بينما لا يزال نظام تثبيت النظام ينتظر إذن المستخدم.

enter image description here

نشطتي للتعرف على ما إذا كان التثبيت ناجحًا أم لا ، وبناءً على هذا التحديث واجهة المستخدم الخاصة به.

أي مساعدة يكون موضع تقدير.

هل كانت مفيدة؟

المحلول

وجدت الجاني.

*installintent.setFlags (intent.flag_activity_new_task) ؛*

على الرغم من أن النظام يعيد المثيل الحالي لنشطتي إلى الحياة ، إلا أنه في كومة مهمة جديدة. لذلك يقوم النظام بإلغاء ActivityForresult قبل أن يبدأ المهمة الجديدة.

شكرًا لك

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top