यह उदाहरण दर्शाता है कि मैं Android में मोबाइल डेटा को कैसे अक्षम कर सकता हूं।
आपकी खोज जानकारी के लिए, जब तक कि आपके पास रूटेड फ़ोन न हो, मुझे नहीं लगता कि आप डेटा को प्रोग्रामेटिक रूप से सक्षम और अक्षम कर सकते हैं क्योंकि ऐसा करने के लिए हमें MODIFY_PHONE_STATE अनुमति शामिल करनी होगी जो केवल सिस्टम या हस्ताक्षर ऐप्स को दी जाती है।
setMobileDataEnabled() विधि अब प्रतिबिंब के माध्यम से कॉल करने योग्य नहीं है। यह एंड्रॉइड 2.1 (एपीआई 7) से एंड्रॉइड 4.4 (एपीआई 19) के बाद से प्रतिबिंब के माध्यम से कॉल करने योग्य था, लेकिन एंड्रॉइड 5.0 और बाद के संस्करण के रूप में, यहां तक कि रूट किए गए फोन के साथ, setMobileDataEnabled() विधि कॉल करने योग्य नहीं है।
चरण 1 - एंड्रॉइड स्टूडियो में एक नया प्रोजेक्ट बनाएं, फाइल ⇒ न्यू प्रोजेक्ट पर जाएं और एक नया प्रोजेक्ट बनाने के लिए सभी आवश्यक विवरण भरें।
चरण 2 - निम्न कोड को res/layout/activity_main.xml में जोड़ें।
<स्विच android :id="@+id/switchData" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="मोबाइल डेटा" />
चरण 3 - निम्न कोड को src/MainActivity.java
में जोड़ेंimport androidx.appcompat.app.AppCompatActivity;import android.content.Context;import android.os.Bundle;import android.telephony.TelephonyManager;import android.util.Log;import android.widget.CompoundButton;import android. विजेट.स्विच;आयात करें। @Override संरक्षित शून्य पर क्रिएट (बंडल सेव किया गया इंस्टेंसस्टेट) {super.onCreate (savedInstanceState); setContentView(R.layout.activity_main); mySwitch =findViewById (R.id.switchData); mySwitch.setचेक किया गया (getMobileDataState ()); mySwitch.setOnCheckedChangeListener (नया CompoundButton.OnCheckedChangeListener() {@Override public void oncheckedChanged(CompoundButton buttonView, boolean ischecked) {setMobileDataState(ischecked); }}); } सार्वजनिक शून्य सेटमोबाइलडेटास्टेट (बूलियन मोबाइलडेटा सक्षम) {कोशिश करें { TelephonyManager telephonyService =(TelephonyManager) getSystemService (संदर्भ। TELEPHONY_SERVICE); विधि setMobileDataEnabledMethod =Objects.requireNonNull(telephonyService).getClass().getDeclaredMethod("setDataEnabled", boolean.class); setMobileDataEnabledMethod.invoke(telephonyService, mobileDataEnabled); } पकड़ (अपवाद पूर्व) { Log.e ("MainActivity", "मोबाइल डेटा स्थिति सेट करने में त्रुटि", पूर्व); } } सार्वजनिक बूलियन getMobileDataState() {कोशिश करें { TelephonyManager telephonyService =(TelephonyManager) getSystemService (Context.TELEPHONY_SERVICE); विधि getMobileDataEnabledMethod =Objects.requireNonNull(telephonyService).getClass().getDeclaredMethod("getDataEnabled"); वापसी (बूलियन) (बूलियन) getMobileDataEnabledMethod.invoke(telephonyService); } पकड़ (अपवाद पूर्व) { Log.e ("MainActivity", "मोबाइल डेटा स्थिति प्राप्त करने में त्रुटि", पूर्व); } विवरण झूठा है; }}पूर्व>चरण 4 - निम्न कोड को androidManifest.xml में जोड़ें
<एप्लिकेशन एंड्रॉइड:अनुमति बैकअप ="सच" एंड्रॉइड:आइकन ="@ मिपमैप / आईसी_लॉन्चर" एंड्रॉइड:लेबल ="@ स्ट्रिंग / ऐप_नाम" एंड्रॉइड:राउंडआईकॉन ="@ मिपमैप / आईसी_लॉन्चर_राउंड" एंड्रॉइड:सपोर्ट आरटीएल ="सच" एंड्रॉइड :theme="@style/AppTheme"> <गतिविधि android:name=".MainActivity"> <इरादे-फ़िल्टर> <कार्रवाई android:name="android.intent.action.MAIN" /> <श्रेणी android:name=" android.intent.category.LAUNCHER" /> आइए आपके एप्लिकेशन को चलाने का प्रयास करते हैं। मुझे लगता है कि आपने अपने वास्तविक Android मोबाइल डिवाइस को अपने कंप्यूटर से कनेक्ट कर लिया है। एंड्रॉइड स्टूडियो से ऐप चलाने के लिए, अपने प्रोजेक्ट की गतिविधि फ़ाइलों में से एक खोलें और टूलबार से रन आइकन पर क्लिक करें। एक विकल्प के रूप में अपने मोबाइल डिवाइस का चयन करें और फिर अपने मोबाइल डिवाइस की जांच करें जो आपकी डिफ़ॉल्ट स्क्रीन प्रदर्शित करेगा -