2016-04-11 10 views
0

Kamera.Android Studio 2 - Bir ImageView bir fotoğrafı ve ekran yakalamak için kamera niyet kullanmaya çalışıyorum SecurityException

kamera niyet başlatıldığında her zaman, aşağıdaki durum oluşur:

java.lang.SecurityException: Permission Denial: starting Intent { act=android.media.action.IMAGE_CAPTURE cmp=com.android.camera/.Camera } from ProcessRecord{c4afeea 3037:com.example.jt.testapp/u0a57} (pid=3037, uid=10057) with revoked permission android.permission.CAMERA 

çağrılması kodu:

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    Button gallery = (Button) findViewById(R.id.btnGallery); 
    gallery.setOnClickListener(new Gallery(this)); 

    Button camera = (Button) findViewById(R.id.btnCamera); 
    camera.setOnClickListener(new Camera(this)); 

} 

yukarıdaki istisna almamak için doğru tezahür izni nedir?

cevap

3

Doğru izni kullanıyor:

android.permission.CAMERA

Eğer Marshmallow çalışırken zamanında bunu sormak zorunda Kamera izni erişimi istediğinizde.

izin verilir ve bu durum böyle değil o zaman izin istediğinde olmadığını

İlk check: Yukarıdaki ile http://developer.android.com/training/permissions/requesting.html

+0

Tamam: Bu belgelerde ayrıntılı olarak burada açıklanmıştır

if (ContextCompat.checkSelfPermission(thisActivity, Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED) { ActivityCompat.requestPermissions(thisActivity, new String[]{Manifest.permission.CAMERA}, 0); } 

Kod, SecurityException artık görünmez. Artık kamera Android Emulator'da açılır, ancak "Kameraya bağlanamıyor" yazıyor. Ben geçiyorum "Bu" kod çalıştırılır "MainActivity" sınıfını temsil "thisActivity" için. Bu doğru mu? – user2966445

+0

Nevermind, kamera AVD Manager'da "None" olarak ayarlandı. Güncelleme ve şimdi kamera çalışıyor. – user2966445

İlgili konular