Membuka Pengaturan Android secara terprogram

110

Bagaimana saya bisa membuka pengaturan secara terprogram?

Behnam
sumber

Jawaban:

10

Saya menggunakan kode dari jawaban yang paling banyak dipilih :

startActivityForResult(new Intent(android.provider.Settings.ACTION_SETTINGS), 0);

Ini membuka pengaturan perangkat di jendela yang sama , sehingga membuat pengguna aplikasi android saya ( finnmglas / Launcher ) untuk android terjebak di sana.

Jawaban untuk tahun 2020 dan seterusnya (di Kotlin):

startActivity(Intent(Settings.ACTION_SETTINGS));

Ini berfungsi di aplikasi saya, juga harus berfungsi di aplikasi Anda tanpa konsekuensi yang tidak diinginkan.

finnmglas
sumber
4
2020 memberi hormat!
Behnam
Terima kasih teman, perbarui kode Anda seperti ini: startActivity (new Intent (Settings.ACTION_SETTINGS));
Muhammad Ali
200

Anda bisa membuka dengan

startActivityForResult(new Intent(android.provider.Settings.ACTION_SETTINGS), 0);

Anda dapat kembali dengan menekan tombol kembali pada perangkat.

kjurkovic.dll
sumber
ada cara untuk kembali saat pengguna menekan tombol Hapus Cache?
SweetWisher ツ
1
@SweetWisher ヅ Anda hanya perlu mengedit kode sumbernya.
Behnam
2
Sekarang Anda bisa menggunakan Intent intent = new Intent (android.provider.Settings.ACTION_SECURITY_SETTINGS); startActivity (maksud); Ada banyak konstanta untuk setiap kategori pengaturan utama yang dapat Anda pilih. Cukup tulis Pengaturan. dan Android Studio akan menampilkan semua kategori dalam pelengkapan otomatis.
Asim Qasımzade
1
Dapatkah saya mencari pengaturan tertentu dalam Aplikasi Pengaturan dan membuka pengaturan tersebut secara terprogram dari Aplikasi saya? misalnya, dapatkah saya mencari OTG dari aplikasi saya di Pengaturan telepon?
Divya Gupta
Sepertinya saya menggunakan StartActivity sudah cukup, saya selalu mendapatkan hasil BATAL ketika kembali ke Aplikasi (yang normal ketika kembali dengan tombol kembali). Dengan demikian aplikasi tidak diberi tahu tentang pengaturan yang diubah dengan cara ini.
sendiri
37

Ini berhasil untuk saya

Intent callGPSSettingIntent = new Intent(android.provider.Settings.ACTION_LOCATION_SOURCE_SETTINGS);
startActivityForResult(callGPSSettingIntent);

Ketika mereka menekannya kembali, itu kembali ke aplikasi saya.

TMH
sumber
Layar Pengaturan apa yang ditawarkan ini?
IgorGanapolsky
1
@IgorGanapolsky itu membuka pengaturan berbasis Lokasi di dalam "Pengaturan"
androminor
20

Anda dapat mencoba menelepon:

startActivityForResult(new Intent(android.provider.Settings.ACTION_WIFI_SETTINGS));

untuk layar lain di layar pengaturan, Anda dapat pergi ke

https://developer.android.com/reference/android/provider/Settings.html

Semoga membantu Anda dalam kasus ini.

Cafe Không Đường
sumber
2
Anda harus meneruskan "REQUEST_CODE" sebagai argumen ke-2 startActivityForResult.
Chintan Rathod
9

Lihat Halaman Pengaturan Secara Terprogram

    startActivity(context, new Intent(Settings.ACTION_SETTINGS), /*options:*/ null);

Secara umum, Anda menggunakan konstanta yang telah ditentukan sebelumnya Settings.ACTION__SETTINGS. Daftar lengkapnya dapat ditemukan di sini

GrIsHu
sumber
1
Adakah cara untuk membuka setelan ke opsi baru: "Kontrol aplikasi mana yang dapat membaca pemberitahuan Anda" (ditambahkan dalam API 18)?
Javi
6

Untuk mencapai ini, cukup gunakan Intent menggunakan ACTION_SETTINGS konstan , yang secara khusus ditentukan untuk menampilkan Pengaturan Sistem:

startActivity(new Intent(Settings.ACTION_SETTINGS));

startActivityForResult () bersifat opsional, hanya jika Anda ingin mengembalikan beberapa data saat aktivitas setelan ditutup.

startActivityForResult(new Intent(Settings.ACTION_SETTINGS), 0);

di sini Anda dapat menemukan daftar kontan untuk menunjukkan pengaturan atau detail spesifik suatu aplikasi.

Jorgesys
sumber
6

Anda dapat membuat kelas lain untuk melakukan kegiatan semacam ini.

public class Go {

   public void Setting(Context context)
    {
        Intent intent = new Intent(android.provider.Settings.ACTION_SETTINGS);
        intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        context.startActivity(intent);
    }
}
Shohan Ahmed Sijan
sumber
3

Gunakan maksud ini untuk membuka layar keamanan dan lokasi di aplikasi pengaturan perangkat android

    startActivity(new Intent(Settings.ACTION_SECURITY_SETTINGS));
Satender Kumar
sumber
2

Jika ada yang menemukan pertanyaan ini dan Anda ingin membuka pengaturan untuk aplikasi spesifik Anda:

    val intent = Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS)
    intent.data = Uri.parse("package:" + context.packageName)
    startActivity(intent)
tim.paetz
sumber
0

Kirim Pengguna ke Pengaturan Dengan Paket yang terletak, contoh untuk izin WRITE_SETTINGS:

startActivityForResult(new Intent(Settings.ACTION_MANAGE_WRITE_SETTINGS).setData(Uri.parse("package:"+getPackageName()) ),0);
phnghue.dll
sumber
0

buka pengaturan lokasi android secara terprogram menggunakan dialog peringatan

AlertDialog.Builder alertDialog = new AlertDialog.Builder(YourActivity.this);
alertDialog.setTitle("Enable Location");
alertDialog.setMessage("GPS is not enabled. Do you want to go to settings menu?");
alertDialog.setPositiveButton("Settings", new DialogInterface.OnClickListener() {
      public void onClick(DialogInterface dialog, int which) {
            Intent intent = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS);
            startActivity(intent);
      }
});
alertDialog.show();
Aftab Alam
sumber