एंड्रॉइड सेटिंग्स को प्रोग्रामेटिक रूप से खोलना


जवाबों:


10

मैंने सबसे अपवित्र उत्तर से कोड का उपयोग किया :

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

यह एक ही विंडो में डिवाइस सेटिंग्स को खोलता है , इस प्रकार मेरे एंड्रॉइड एप्लिकेशन ( फिनमनलगस / लॉन्चर ) के उपयोगकर्ताओं को एंड्रॉइड के लिए वहां अटक गया।

2020 और उससे आगे (कोटलिन में) के लिए उत्तर :

startActivity(Intent(Settings.ACTION_SETTINGS));

यह मेरे ऐप में काम करता है, बिना किसी अनचाहे परिणाम में भी आपके साथ काम करना चाहिए।


4
2020 आपको सलाम!
बेहनाम

धन्यवाद मित्र, कृपया अपना कोड इस तरह अपडेट करें: startActivity (नया इरादा (Settings.ACTION_SETTINGS));
मुहम्मद अली

200

के साथ खोल सकते हैं

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

आप डिवाइस पर बैक बटन दबाकर वापस आ सकते हैं।


उपयोगकर्ता द्वारा क्लियर कैश बटन दबाने पर वापस आने का कोई तरीका?
स्वीटविशर

1
@SweetWisher er आपको सिर्फ सोर्स कोड को एडिट करना है।
बेहनां

2
अब आप आशय इरादे = नए इरादे (android.provider.Settings.ACTION_SECURITY_SETTY) का उपयोग कर सकते हैं; startActivity (आशय); हर मुख्य सेटिंग्स श्रेणी के लिए स्थिरांक का पूरा गुच्छा होता है जिसे आप चुन सकते हैं। बस सेटिंग्स लिखें। और Android Studio आपको स्वतः पूर्ण में सभी श्रेणियां दिखाएगा।
असीम क़ासिमज़ादे

1
क्या मैं सेटिंग ऐप के भीतर एक विशेष सेटिंग खोज सकता हूं और उस विशेष सेटिंग को प्रोग्राम से अपने ऐप से खोल सकता हूं? जैसे मैं फोन की सेटिंग में अपने ऐप से ओटीजी खोज सकता हूं?
दिव्या गुप्ता

यह मुझे लगता है कि StartActivity का उपयोग करना काफी है, मुझे ऐप पर वापस आने पर हमेशा CANCELD का परिणाम मिलता है (जो कि बैक बटन के साथ वापस आने पर सामान्य है)। इस प्रकार एप्लिकेशन को इस तरह से बदली हुई सेटिंग्स के बारे में सूचित नहीं किया जाता है।
15

37

यह मेरे लिए किया

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

जब वे वापस दबाते हैं तो यह मेरे ऐप पर वापस चला जाता है।


सेटिंग्स स्क्रीन क्या प्रदान करता है?
इगोरगानापोलस्की

1
@IgorGanapolsky यह "सेटिंग" के अंदर स्थान आधारित सेटिंग्स खोलता है
androminor

20

आप कॉल करने का प्रयास कर सकते हैं:

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

सेटिंग स्क्रीन में अन्य स्क्रीन के लिए, आप जा सकते हैं

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

आशा है कि इस मामले में आपकी मदद करेंगे।


2
आपको 2 के तर्क के रूप में "REQUEST_CODE" पास करना होगा startActivityForResult
चिंतन राठौड़

9

सेटिंग्स पेज को प्रोग्रामेटिक रूप से प्रदर्शित करते हुए देखें

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

सामान्य तौर पर, आप पूर्वनिर्धारित स्थिरांक का उपयोग करते हैं Settings.ACTION__SETTINGS। पूरी सूची यहां देखी जा सकती है


1
क्या नए विकल्प में सेटिंग्स को खोलने का एक तरीका है: "नियंत्रण जो एप्लिकेशन आपकी सूचनाओं को पढ़ सकते हैं" (एपीआई 18 में जोड़ा गया)?
जावी

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

एंड्रॉइड डिवाइस के सेटिंग्स ऐप में सुरक्षा और स्थान स्क्रीन खोलने के लिए इस इरादे का उपयोग करें

    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

ओपन एंड्रॉइड लोकेशन सेटिंग प्रोग्रामेटिकली अलर्ट डायलॉग का उपयोग कर

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();
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.