Android 6.0 ve Üstü için İzinler Hk Yardım ?
4
●297
- 30-04-2017, 18:48:59Merhaba arkadaşlar yeni güncelleme ile biliyorsunuz ki uygulama izinlerini uygulamda ihtiyaç duyduğu zaman alıyor. Ben internetten bakıp yaptıgım kadarıyla uygulama açılınca izni alıyor ama flash uygulamamda mesela izin almasına rağmen ilk açışta izni kabul edip işleme koymuyor kapatıp yeniden açınca sıkıntı olmuyor ama oda saçma bir durum oluyor bunu nasıl düzeltebilirim kulanıcı izin ver dedikten sonra direk çalışmasını nasıl sağlayabilrim ?
- 30-04-2017, 21:52:17İzine evet denildiğinde bir result dönüyor ona göre çalıştırabilirsin. O şekilde sıkıntı olmadan çalışırEuphrates adlı üyeden alıntı: mesajı görüntüle
GM 5 Plus d cihazımdan Tapatalk kullanılarak gönderildi - 30-04-2017, 23:34:10Result döndüremedim heralde elinizde kaynak var mı ? internette yabancılarınkini de denedim ama result dönmüyor uygulamanın kapatılıp açılması gerekiyor ?eyupakky adlı üyeden alıntı: mesajı görüntüle
- 01-05-2017, 20:30:26Merhaba,
İzni aldığınız activity ya da fragment'ta "onRequestPermissionsResult" methodunu Override etmeniz gerekiyor, şöyle ki;
(Kodlama bilginizin başlangıç-orta düzeyde olduğunu varsayarak teknik detaya girmeden basit anlatmaya çalışacağım.)
İzin alımı:
if (ActivityCompat.checkSelfPermission(MainActivity.this, android.Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED) { ActivityCompat.requestPermissions(MainActivity.this, new String[]{ android.Manifest.permission.CAMERA }, 1); }else{ //Burada izin zaten verilmiş demektir. }Yukarıda "Camera" izninin daha önceden alınmış olup olmadığını kontrol ediyoruz, eğer alınmamışsa izni istiyoruz. Yalnız izni isterken kodun en sonunda "requestCode" gönderiyoruz, yukarıda ki örnekte bunu ben "1" olarak yolladım.
Bunu yollama amacımız iznin result'ında cevabı handle edebilmemiz, yani cevabı yakalamamız içindir.
İstenen izni yakalama:
@Override public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) { switch (requestCode) { case 1: { if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) { //Eğer kullanıcı izin verdiyse. Log.d("İzin kontrol: ", "izin alındı."); } else { //Eğer kullanıcı izni red ederse. Log.d("İzin kontrol: ", "kullanıcı izin vermedi."); } return; } } }Yukarıdaki methodu da Activity ya da Fragment'ın onCreate ya da OnCreateView dışına koymanız yeterli olacaktır.
Aklınıza takılan bir soru olursa çekinmeden alıntılıyabilir ya da özel mesaj atabilirsiniz.
İyi çalışmalar. - 01-05-2017, 21:33:29egebit adlı üyeden alıntı: mesajı görüntüle
Teşekkürler ayrıntı için. Yaptım sonradan eksik kalan kısım tüm izinleri aldıkdan sonra activty yi tekrardan çalıştırmakmış activitystart da tekrar turn on flash yaptım ve çalıştı.