اذهب إلى المحتوى

السؤال

نشر

السلام عليكم و اتمنى اجد حل ...

قمت بعمل تطبيق اندرويد webview  لعرض موقع ووردبريس . اردت ان اضيف خاصيه رفع ملفات بمعنى ان المستخدم يستطيع رفع صوره له على الموقع . الخاصيه تعمل على المستعرض مثل كرووم بشكل طبيعى . وعند استخدامها على التطبيق لا تعمل عند الضغط على الزر الخاص بالتوجه لإختيار الصورة لا يعمل . 

اضفت فى التطبيق إن الوصول إلى وحدة التخزين android.permission.READ_EXTERNAL_STORAGE ورغم ذلك لم تعمل فهل يوجد طريقه لتفعيلها على التطبيق ؟

Recommended Posts

  • 0
نشر

الحل بيختلف من فريمورك للاخر ياريت لو تقدر تذكر انت بتعمل علي اي android native او flutter او react native 
ولاكن توجد ايضا خطوات ثابته يمكنك اتباعها  
اولا تمكين JavaScript في WebView الخاص بك لتفعيل وظيفة رفع الملفات يمكنك تمكين JavaScript بهذه الطريقه :
 

webView.getSettings().setJavaScriptEnabled(true);

ثانيا استخدام WebChromeClient لانه يدعمً العمليات التفاعلية مثل اختيار الملفات. تأكد من تعيين WebChromeClient لـ WebView الخاص بك بهذه الطريقه :
 

webView.setWebChromeClient(new WebChromeClient());

ثالثا تاكد من اخذ الصلاحيات من المستخدم جيدا 
 

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

 

  • 0
نشر

في حال تم تنفيذ ذلك من خلال كوتلن، فعليك إضافة إذن الوصول إلى وحدة التخزين الخارجية:

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

ثم إنشاء زر لبدء عملية رفع الملفات:

ويجب استخدام مكتبة Intent الصحيحة لبدء نشاط اختيار الصورة، وهي Intent.ACTION_GET_CONTENT بدلاً من Intent.ACTION_PICK.

Button uploadButton = findViewById(R.id.upload_button);
uploadButton.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
        intent.setType("image/*");
        startActivityForResult(intent, PICK_IMAGE_REQUEST_CODE);
    }
});

وستجد تفصيل هنا حول WebView على موقع المطورين في Android:

https://developer.android.com/develop/ui/views/layout/webapps/webview

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...