Saya punya pertanyaan tentang rilis Android Marshmallow baru:
Apakah mungkin untuk menampilkan Layar Izin untuk aplikasi tertentu melalui Intent atau yang serupa?
Mungkin untuk menampilkan pengaturan aplikasi dengan kode berikut - apakah ada solusi analog untuk langsung membuka Layar Izin?
startActivity(new Intent(android.provider.Settings.ACTION_APPLICATION_DETAILS_SETTINGS,
Uri.fromParts("package", getPackageName(), null)));
Saya sudah melakukan riset tentang hal ini tetapi saya tidak dapat menemukan solusi yang tepat - saya akan menghargai setiap bantuan!
android
android-permissions
android-6.0-marshmallow
Frederik Schweiger
sumber
sumber
Jawaban:
Menurut video resmi izin Marshmallow (pada tanda 4m 43s ), Anda harus membuka halaman Pengaturan aplikasi (dari sana itu adalah satu klik ke halaman Izin).
Untuk membuka halaman pengaturan, Anda harus melakukannya
sumber
Ini tidak mungkin. Saya mencoba melakukannya juga. Saya bisa mengetahui nama paket dan aktivitas yang akan dimulai. Tetapi pada akhirnya Anda akan mendapatkan pengecualian keamanan karena izin yang hilang Anda tidak dapat mendeklarasikan.
MEMPERBARUI:
Mengenai jawaban lain saya juga merekomendasikan untuk membuka layar Pengaturan aplikasi. Saya melakukan ini dengan kode berikut:
Karena saya tidak ingin memiliki ini di tumpukan riwayat saya, saya menghapusnya menggunakan bendera maksud.
sumber
Deskripsi Membuka halaman pengaturan Detail untuk Aplikasi. Dari sini pengguna harus secara manual memberikan izin yang diinginkan.
Settings.ACTION_APPLICATION_DETAILS_SETTINGS
Intent.FLAG_ACTIVITY_NEW_TASK
Opsional . Jika diatur maka buka Layar Pengaturan (Aktivitas) sebagai aktivitas baru. Kalau tidak, itu akan dibuka dalam aktivitas yang sedang berjalan.
Uri.fromParts("package", getPackageName(), null)
Mempersiapkan atau membuat URI, sebaliknya, getPackageName () - mengembalikan nama paket aplikasi Anda.
intent.setData(uri)
Jangan lupa atur ini . Kalau tidak, Anda akan mendapatkannya
android.content.ActivityNotFoundException
. Karena Anda telah menetapkan niat AndaSettings.ACTION_APPLICATION_DETAILS_SETTINGS
dan Android mengharapkan beberapa nama untuk dicari.sumber
Sebagai gantinya, Anda dapat membuka pengaturan umum aplikasi tertentu dengan satu baris
sumber
Tidak mungkin membuka layar izin secara terprogram. Sebagai gantinya, kita dapat membuka layar pengaturan aplikasi.
Kode
Output Sampel
sumber
Jika Anda ingin menulis lebih sedikit kode,
Kotlin
Anda dapat melakukan ini:Berdasarkan jawaban Martin Konecny
sumber
Gaya Kotlin.
sumber
Mungkin ini akan membantu Anda
sumber
Jika kita berbicara tentang FLYME OS (Meizu) ONLY ada aplikasi Keamanan sendiri dengan izin.
Untuk membukanya gunakan niat berikut:
Dari penyebab BuildConfig adalah aplikasi Anda BuildConfig .
sumber
Xamarin Membentuk Android:
sumber
tidak mungkin mendapatkan izin secara pragmatis ... tetapi Anda tidak disarankan untuk meletakkan baris kode itu di coba {} catch {} yang membuat aplikasi Anda sayangnya berhenti ... dan di badan tangkapan buatlah kotak dialog yang akan menavigasi pengguna ke tutorial kecil untuk mengaktifkan undian atas izin aplikasi lain ... lalu klik tombol ya, masukkan kode ini ...
maksud ini adalah untuk langsung membuka daftar undian dari aplikasi lain untuk mengelola izin dan kemudian dari sini itu adalah satu klik untuk undian dari aplikasi lain Izin ... saya tahu ini bukan jawaban yang Anda cari ... tapi Saya melakukan ini di aplikasi saya ...
sumber