لدي مشكلة برمجية في تطبيق اندرويد ارجو المساعدة بها

السلام عليكم اخوتي الاعزاء لدي مشكلة برمجية في تطبيق اندرويد اقوم بالعمل عليه منذ فترة

وهي ان التطبيق عند تشغيله على المحاكي تظهر رسالة( توقف التطبيق " اعادة تشغيل التطبيق ").

وهذا الامر يتكرر مع الهاتف مع جميع اصدارات الاندرويد وعند فحص المشكلة في اندرويد ستوديو باستخدام android monitor ظهر هذا الكود بالاحمر وهذا هو سبب المشكلة ولكن لااعرف الحل صراحة .

هذا هو الكود

code

07-30 16:49:04.222 2564-3485/android.process.media E/DatabaseUtils: Writing exception to parcel

                                                            java.lang.SecurityException: Permission Denial: reading com.android.providers.media.MediaProvider uri content://media/external/images/media from pid=3504, uid=10071 requires android.permission.READ_EXTERNAL_STORAGE, or grantUriPermission()
                                                                at android.content.ContentProvider.enforceReadPermissionInner(ContentProvider.java:608)
                                                                at android.content.ContentProvider$Transport.enforceReadPermission(ContentProvider.java:483)
                                                                at android.content.ContentProvider$Transport.query(ContentProvider.java:212)
                                                                at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:112)
                                                                at android.os.Binder.execTransact(Binder.java:565)

07-30 16:49:04.223 3504-3504/com... D/AndroidRuntime: Shutting down VM

                                                          --------- beginning of crash

07-30 16:49:04.224 3504-3504/com.egalaska.mypix E/AndroidRuntime: FATAL EXCEPTION: main Process: com.egalaska.mypix, PID: 3504 java.lang.RuntimeException: Unable to start activity ComponentInfo{com.egalaska.mypix/com.project.yura.photoeditor.EditImageActivity}: java.lang.SecurityException: Permission Denial: reading com.android.providers.media.MediaProvider uri content://media/external/images/media from pid=3504, uid=10071 requires android.permission.READ_EXTERNAL_STORAGE, or grantUriPermission() at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2665) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2726) at android.app.ActivityThread.-wrap12(ActivityThread.java) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1477) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:154) at android.app.ActivityThread.main(ActivityThread.java:6119) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776) Caused by: java.lang.SecurityException: Permission Denial: reading com.android.providers.media.MediaProvider uri content://media/external/images/media from pid=3504, uid=10071 requires android.permission.READ_EXTERNAL_STORAGE, or grantUriPermission() at android.os.Parcel.readException(Parcel.java:1684) at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:183) at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:135) at android.content.ContentProviderProxy.query(ContentProviderNative.java:421) at android.content.ContentResolver.query(ContentResolver.java:532) at android.content.ContentResolver.query(ContentResolver.java:474) at com.project.yura.photoeditor.Model.Helper.getDataColumn(Helper.java:111) at com.project.yura.photoeditor.Model.Helper.getPathFromUri(Helper.java:81) at com.project.yura.photoeditor.EditImageActivity.onCreate(EditImageActivity.java:64) at android.app.Activity.performCreate(Activity.java:6679) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1118) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2618) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2726) at android.app.ActivityThread.-wrap12(ActivityThread.java) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1477) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:154) at android.app.ActivityThread.main(ActivityThread.java:6119) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)

code


التعليق السابق

أفهم من كلامك أنك تريد من المستخدم إختيار صورة من أستوديو الصور أو أن يقوم بإلتقاط صور بالكاميرا مباشرة أليس كذلك؟

وأن رسالة توقف التطبيق تظهر عندما يختار المستخدم إختيار "إلتقاط صورة بالكاميرا".

إذا كان الأمر كذلك. فيجب عليك إضافة أو طلب صلاحية الوصول إلى الكاميرا في ملف الـ Manifest و في الكود أيضاً.

قم بإضافة هذا السطر في ملف الـ Manifest مع الصلاحيات الأخرى.

"uses-permission android:name="android.permission.CAMERA

ثم ضع هذا الكود في بداية الـ onCreate قبل أي كود آخر للـ Activity الذي يحصل بها الخطأ.

if (ContextCompat.checkSelfPermission(context, Manifest.permission.CAMERA) == PackageManager.PERMISSION_DENIED)ActivityCompat.requestPermissions(activity, new String[] {Manifest.permission.CAMERA,Manifest.permission.READ_EXTERNAL_STORAGE,Manifest.permission.WRITE_EXTERNAL_STORAGE}, requestCode);

يا له من محرر أكواد غبي يا حسّوب -ـ-.

يُفضل أن تقرأ هذه الصفحة عن الصلاحيات إذا أردت المزيد من المعلومات حول الموضوع.

https://developer.android.c...

تمام قرات الرابط ونفذت مااخبرتني به الان مسبقاً لكن يظهر لي رسالة خطأ اخرى تقريباً هذه الرسالة لاني اضع الكود في المكان الخطأ في الترتيب سوف ارسل لك ملف كود الجافا وضعه لي في المكان المحدد واكتب بجواره تعليق ان هذا هو المكان المحدد له واكون شاكر لك لمساعدتك واعلم اني ازعجك بهذا لكن ارجو منك ان تقبل اعتزاري لك وتساعدني في حل هذه المشكلة

https://up.top4top.net/down...

ما هي رسالة الخطأ أخي؟ وفي أي ملفٍ يقع الخطأ ؟

رسالة الخطأ تقع في الذي اضيف به الكود

موجود في الملف المضغوط MainActivity وملف اخر EditActivitey هو الاخير الذي اضيف له الكود ويقع فيه اخطاء

حسناً اخي ما هي رسالة الخطأ التي تظهر لك إذاً ؟ لم أفهم ما سبب المشكلة حقاً.

بالإضافة بأني لا أرى الكود الذي طلبت منك إضافته في أي من الملفين.

هذه هي رسالة الخطأ

Error:(46, 83) error: ')' expected

Error:(47, 23) error: not a statement

Error:(47, 41) error: ';' expected

Error:Execution failed for task ':app:compileDebugJavaWithJavac'.

Compilation failed; see the compiler error output for details.

عزيزي. هل تستطيع أن تحدد لي بأي Activity يقع الخطأ ؟

في EditImageActivity

الملفات المرسلة لك ملفات افتراضية لم اضف بها الكود الذي ارسلته لي

هذي هي المشكلة إذاً. الخطأ يحدث بسبب الكود المضاف حديثاً. والذي بنفس الوقت لا يظهر عندي في الملفات التي أرسلتها. هلّا أرسلتها مجدداً بعد إضافة الكود الذي طلبته منك؟

اخي الكريم هل لديك حساب في خمسات فهكذا ان اخذ من وقتك ع الفاضي حرام عليا اتعبك معايا ع الفاضي لوعندك حساب في خمسات ارسل لي اللينك الخاص به لكي اشتري منك خدمة

لا داعي لذلك فلا فائده من خبرتي إذا لم أساعد أو أُفِد الآخرين بها

3>

-1

طيب ممكن تراسلني واتساب ع الرقم ده عشان تشاهد فيديو

+201280895702

عزيزي هذا هو الكود عند السطر رقم 46 في الملف الذي أرسلته لي.

currentSession = CurrentSession.GetInstance();

    String pathString = null;
    if (getIntent().getExtras() != null) {
        pathString = getIntent().getExtras().getString(IMAGE_TO_EDIT_URI);
        currentSession.path = pathString;
    }

بإختصار لا يوجد اي خطأ كما أرى. بالإضافة بأني لا أرى الكود الذي يفترض به أن يطلب صلاحية الوصول للكاميرا وذاكرة التخزين الخارجي.

هل أنت متأكد من إرسالك للملفات الصحيحة؟

اخي الكريم هل لديك حساب في خمسات فهكذا ان اخذ من وقتك ع الفاضي حرام عليا اتعبك معايا ع الفاضي لوعندك حساب في خمسات ارسل لي اللينك الخاص به لكي اشتري منك خدمة

لحظة وهبعتلك الرسالة التي تظهر بس هي عموماً بتقع تقريباً بسبب انني اضع الكود في ترتيب خطأ او هناك شئ ناقص في الكود هل يمكن ان تضيف الكود انت اذا استطعت