यदि आप एंड्रॉइड 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;
मेरी अंग्रेजी काफी अच्छी नहीं है, इसके लिए खेद है।
यह एपीएन डेटा सुरक्षित करने के लिए या तो एक बग या हैम-मुट्ठी तरीका जैसा लगता है (उस मामले में एक समर्पित 'READ_APN_SETTINGS 'अनुमति होनी चाहिए)।मुझे इसके लिए दायर कोई समस्या नहीं दिखाई दे रही है, इसलिए यदि आप एक ऐसी परियोजना बना सकते हैं जो त्रुटि को पुन: उत्पन्न करे, इसे पोस्ट करें और http://b.android.com पर निर्देश दें। – CommonsWare
हो गया, आप इसे यहां देख सकते हैं http://code.google.com/p/android/issues/detail?id=39987 – Shatazone
यह भी देखें http://code.google.com/p/android/issues/detail? आईडी = 29,264। उम्मीद है कि एपीएन पढ़ने और लिखने के लिए एक ही समाधान लागू किया जा सकता है। उम्मीद है कि 4.2 से पहले अन्य निर्माताओं द्वारा उठाया जाता है। मुझे एक सपने देखने दो। – Tom