यदि आप एंड्रॉइड 4.2 के लिए एपीएन पढ़ना चाहते हैं और अधिक वे करने के लिए एक बदलाव हैं। मैंने इसका परीक्षण किया, और यह काम करता है।
Android 4.1 में और उपयोग इस से ऊपर:
Cursor c = getContentResolver().query(Uri.withAppendedPath(Telephony.Carriers.CONTENT_URI, "current"), null, null, null, null);
और Android 4.2 के लिए और अधिक इस कोड का उपयोग:
private static final String[] APN_PROJECTION = {
Telephony.Carriers.TYPE, // 0
Telephony.Carriers.MMSC, // 1
Telephony.Carriers.MMSPROXY, // 2
Telephony.Carriers.MMSPORT // 3
};
और इस लाइन:
final Cursor apnCursor =SqliteWrapper.query(context, this.context.getContentResolver(), Uri.withAppendedPath(Carriers.CONTENT_URI, "current"), APN_PROJECTION, null, null, null);
SQLiteWrapperClass है छुपा (मुझे इंटरनेट पर यह कक्षा मिली)।
import android.database.sqlite.SqliteWrapper;
हां मैं अपने अनुप्रयोग में इस का उपयोग कर की कोशिश की है और यह इस त्रुटि फेंकता है: 'java.lang.SecurityException: एपीएन सेटिंग्स लिखने की कोई अनुमति नहीं: न तो उपयोगकर्ता 100 99 और न ही वर्तमान प्रक्रिया में android.permission.WRITE_APN_SETTINGS.' – toobsco42
आवश्यक अनुमति जोड़ें (http://developer.android.com/reference/android/Manifest.permission.html#WRITE_APN_S ETTINGS) मेनिफेस्ट – Asahi
पर जब मैंने इसे मैनिफेस्ट में जोड़ने का प्रयास किया तो उसने कहा कि केवल मूल ऐप्स ही इस अनुमति को जोड़ सकते हैं। – toobsco42