آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

unfortunately camera has stopped

نیکناز  8 سال پیش  8 سال پیش
0 0

سلام دوستان

من می خوام به کاربر این اجازه رو بدم که از دوربین عکس انتخاب کنه . ولی با ارور unfortunately camera has stopped   مواجه میشم .

در زمان runtime هم پرمیشن ها رو به صورت زیر در تابع checkRunTimePermission چک کردم .

 برنامه وارد قسمت else این تابع میشه و  ارور نمایش داده میشه.

Manifest:

SyntaxEditor Code Snippet

   <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.CAMERA" android:required = "true" />
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

کلاس MainActivity  :

 SyntaxEditor Code Snippet
checkRunTimePermission();

تابع checkRunTimePermission : 

 SyntaxEditor Code Snippet
 private void checkRunTimePermission() {
  
    String[] permissionArrays = new String[]{Manifest.permission.CAMERA, Manifest.permission.WRITE_EXTERNAL_STORAGE};

    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
      
      requestPermissions(permissionArrays, 100);
    } else {
	
          Intent camera_intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
          File file = new File(Environment.getExternalStorageDirectory(),"file" + String.valueOf(System.currentTimeMillis() + ".jpg"));
          Uri uri = Uri.fromFile(file);
          camera_intent.putExtra(MediaStore.EXTRA_OUTPUT, uri);
          camera_intent.putExtra("return_data",true);
          startActivityForResult(camera_intent,100);
    }
  }
  

با کد زیر هم پرمیشن ها رو دونه دونه چک کردم و پیغام log چاپ میشه .

 SyntaxEditor Code Snippet
int hasPermission = ContextCompat.checkSelfPermission(NewAdActivity.this,Manifest.permission.CAMERA);
          if (hasPermission == PackageManager.PERMISSION_GRANTED) {
            Log.i("Log","here");
          }

و توی onActivityResult  هم چک کردم RESULT_OK را   1-  دریافت کردم.

 
 
 برای این سوال پاسخی وجود ندارد.

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .