Mở Cài đặt Android theo chương trình


Câu trả lời:


10

Tôi đã sử dụng mã từ câu trả lời được ủng hộ nhiều nhất :

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

mở cài đặt thiết bị trong cùng một cửa sổ , do đó, người dùng ứng dụng Android của tôi ( finnmglas / Launcher ) cho Android bị mắc kẹt trong đó.

Câu trả lời cho năm 2020 và hơn thế nữa (trong Kotlin):

startActivity(Intent(Settings.ACTION_SETTINGS));

Nó hoạt động trong ứng dụng của tôi, cũng sẽ hoạt động trong ứng dụng của bạn mà không có bất kỳ hậu quả không mong muốn nào.


4
2020 chào bạn!
Behnam

Cảm ơn bạn, hãy cập nhật mã của bạn như sau: startActivity (Intent mới (Settings.ACTION_SETTINGS));
Muhammad Ali

200

Bạn có thể mở bằng

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

Bạn có thể quay lại bằng cách nhấn nút quay lại trên thiết bị.


có cách nào để quay lại khi người dùng nhấn nút Clear Cache?
SweetWisher ツ

1
@SweetWisher ヅ Bạn chỉ cần chỉnh sửa mã nguồn.
Behnam

2
Bây giờ bạn có thể sử dụng Intent Ý định = new Intent (android.provider.Settings.ACTION_SECURITY_SETTINGS); startActivity (ý định); Có rất nhiều hằng số cho mọi danh mục cài đặt chính mà bạn có thể chọn. Chỉ cần viết Cài đặt. và Android Studio sẽ hiển thị cho bạn tất cả các danh mục ở chế độ tự động hoàn thành.
Asim Qasımzade

1
Tôi có thể tìm kiếm một cài đặt cụ thể trong Ứng dụng Cài đặt và mở cài đặt cụ thể đó theo lập trình từ Ứng dụng của mình không? Ví dụ: tôi có thể tìm kiếm OTG từ ứng dụng của mình trong Cài đặt của điện thoại không?
Divya Gupta

Với tôi, có vẻ như sử dụng StartActivity là đủ, tôi luôn nhận được kết quả HỦY khi quay lại Ứng dụng (điều này là bình thường khi quay lại với nút quay lại). Do đó, ứng dụng không được thông báo về các cài đặt đã thay đổi theo cách này.
this.myself

37

Điều này đã làm điều đó cho tôi

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

Khi họ nhấn lại, nó sẽ quay trở lại ứng dụng của tôi.


Màn hình Cài đặt này cung cấp những gì?
IgorGanapolsky

1
@IgorGanapolsky nó mở Cài đặt dựa trên vị trí bên trong "Cài đặt"
androminor


9

Kiểm tra Trang cài đặt hiển thị có lập trình

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

Nói chung, bạn sử dụng hằng số được xác định trước Settings.ACTION__SETTINGS. Danh sách đầy đủ có thể được tìm thấy ở đây


1
Có cách nào để mở cài đặt thành tùy chọn mới: "Kiểm soát ứng dụng nào có thể đọc thông báo của bạn" (được thêm trong API 18) không?
Javi

6

Để đạt được điều này, chỉ cần sử dụng Intent sử dụng hằng số ACTION_SETTINGS , được xác định cụ thể để hiển thị Cài đặt hệ thống:

startActivity(new Intent(Settings.ACTION_SETTINGS));

startActivityForResult () là tùy chọn, chỉ khi bạn muốn trả lại một số dữ liệu khi hoạt động cài đặt bị đóng.

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

ở đây bạn có thể tìm thấy danh sách các nội dung để hiển thị các cài đặt cụ thể hoặc chi tiết của một ứng dụng.


6

Bạn có thể tạo một lớp khác để thực hiện loại hoạt động này.

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);
    }
}

3

Sử dụng mục đích này để mở màn hình bảo mật và vị trí trong ứng dụng cài đặt của thiết bị Android

    startActivity(new Intent(Settings.ACTION_SECURITY_SETTINGS));

2

Trong trường hợp có ai đó tìm thấy câu hỏi này và bạn muốn mở cài đặt cho ứng dụng cụ thể của mình:

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

0

Gửi người dùng đến Cài đặt Với ​​Gói được định vị, ví dụ cho quyền WRITE_SETTINGS:

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

0

mở cài đặt vị trí android theo chương trình bằng hộp thoại cảnh báo

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();
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.