กำลังเปิดการตั้งค่า Android โดยใช้โปรแกรม


คำตอบ:


11

ฉันใช้รหัสจากคำตอบที่โหวตมากที่สุด :

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

มันจะเปิดการตั้งค่าอุปกรณ์ในหน้าต่างเดียวกันจึงมีผู้ใช้โปรแกรมหุ่นยนต์ของฉัน ( finnmglas / เปิด ) สำหรับหุ่นยนต์ติดอยู่ในนั้น

คำตอบสำหรับปี 2020 ขึ้นไป (ใน Kotlin):

startActivity(Intent(Settings.ACTION_SETTINGS));

มันใช้งานได้ในแอพของฉันควรจะทำงานในของคุณโดยไม่มีผลที่ไม่พึงประสงค์


4
2020 คารวะคุณ!
Behnam

ขอบคุณเพื่อนโปรดอัปเดตรหัสของคุณในลักษณะนี้ startActivity (เจตนาใหม่ (Settings.ACTION_SETTINGS));
มูฮัมหมัดอาลี

200

คุณสามารถเปิดด้วย

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

คุณสามารถย้อนกลับได้โดยกดปุ่มย้อนกลับบนอุปกรณ์


วิธีใดที่จะกลับมาเมื่อผู้ใช้กดปุ่ม Clear Cache?
SweetWisher ツ

1
@SweetWisher ヅคุณต้องแก้ไขซอร์สโค้ด
Behnam

2
ตอนนี้คุณสามารถใช้เจตนาเจตนา = เจตนาใหม่ (android.provider.Settings.ACTION_SECURITY_SETTINGS); startActivity (เจตนา); มีค่าคงที่มากมายสำหรับทุกหมวดการตั้งค่าหลักที่คุณสามารถเลือกได้ เพียงแค่เขียนการตั้งค่า และ Android Studio จะแสดงหมวดหมู่ทั้งหมดในการเติมข้อความอัตโนมัติ
Asim Qasımzade

1
ฉันสามารถค้นหาการตั้งค่าเฉพาะในแอพการตั้งค่าและเปิดการตั้งค่านั้นโดยทางโปรแกรมจากแอพของฉันได้ไหม เช่นฉันสามารถค้นหา OTG จากแอพของฉันในการตั้งค่าของโทรศัพท์ได้หรือไม่
Divya Gupta

สำหรับฉันแล้วดูเหมือนว่าจะใช้ StartActivity ก็เพียงพอแล้วฉันจะได้รับผลลัพธ์ CANCELD เสมอเมื่อกลับมาที่แอพ (ซึ่งเป็นเรื่องปกติเมื่อกลับมาพร้อมปุ่มย้อนกลับ) ดังนั้นแอปจะไม่ได้รับแจ้งการตั้งค่าที่เปลี่ยนแปลงด้วยวิธีนี้
this.myself

37

สิ่งนี้ทำเพื่อฉัน

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

เมื่อกดย้อนกลับมันจะกลับไปที่แอพของฉัน


หน้าจอการตั้งค่านี้เสนออะไร
IgorGanapolsky

1
@IgorGanapolsky เปิดการตั้งค่าตามตำแหน่งภายใน "การตั้งค่า"
androminor

20

คุณสามารถลองโทร:

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

สำหรับหน้าจออื่น ๆ ในหน้าจอการตั้งค่าคุณสามารถไปที่

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

หวังว่าจะช่วยคุณในกรณีนี้


2
คุณต้องการที่จะผ่าน "REQUEST_CODE" startActivityForResultเป็นอาร์กิวเมนต์ที่
จินตนาราช

9

ตรวจสอบโปรแกรมแสดงหน้าการตั้งค่า

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

Settings.ACTION__SETTINGSโดยทั่วไปแล้วคุณใช้ค่าคงที่ที่กำหนดไว้ล่วงหน้า สามารถดูรายชื่อทั้งหมดได้ที่นี่


1
มีวิธีเปิดการตั้งค่าในตัวเลือกใหม่ "ควบคุมแอปพลิเคชันใดบ้างที่สามารถอ่านการแจ้งเตือนของคุณ" (เพิ่มใน API 18)
Javi

6

เพื่อให้บรรลุสิ่งนี้เพียงแค่ใช้ความตั้งใจโดยใช้ค่าคงที่ACTION_SETTINGS ที่กำหนดโดยเฉพาะเพื่อแสดงการตั้งค่าระบบ:

startActivity(new Intent(Settings.ACTION_SETTINGS));

startActivityForResult ()เป็นทางเลือกเฉพาะในกรณีที่คุณต้องการส่งคืนข้อมูลบางส่วนเมื่อปิดกิจกรรมการตั้งค่า

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

ที่นี่คุณสามารถดูรายการสิ่งที่ต้องทำเพื่อแสดงการตั้งค่าเฉพาะหรือรายละเอียดของแอพพลิเคชั่น


6

คุณสามารถสร้างชั้นเรียนอื่นสำหรับทำกิจกรรมประเภทนี้ได้

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

ใช้ความตั้งใจนี้เพื่อเปิดหน้าจอความปลอดภัยและตำแหน่งในแอพการตั้งค่าของอุปกรณ์ Android

    startActivity(new Intent(Settings.ACTION_SECURITY_SETTINGS));

2

ในกรณีที่มีใครพบคำถามนี้และคุณต้องการเปิดการตั้งค่าสำหรับแอปพลิเคชันเฉพาะของคุณ:

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

0

ส่งผู้ใช้ไปที่การตั้งค่าด้วยแพ็คเกจที่อยู่ตัวอย่างเช่นสิทธิ์ WRITE_SETTINGS:

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

0

เปิดการตั้งค่าตำแหน่งของ Android โดยใช้โปรแกรมโดยใช้กล่องโต้ตอบการแจ้งเตือน

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();
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.