Android 4.2 ve daha fazlası için APN'yi okumak istiyorsanız, bunların yapılması için bir değişiklik yapın. Test ettim ve işe yarıyor. Android 4.1 içinde ve kullanıma bu yukarıda
:
private static final String[] APN_PROJECTION = {
Telephony.Carriers.TYPE, // 0
Telephony.Carriers.MMSC, // 1
Telephony.Carriers.MMSPROXY, // 2
Telephony.Carriers.MMSPORT // 3
};
Ve bu satırı:
final Cursor apnCursor =SqliteWrapper.query(context, this.context.getContentResolver(), Uri.withAppendedPath(Carriers.CONTENT_URI, "current"), APN_PROJECTION, null, null, null);
SQLiteWrapperClass olduğunu
Cursor c = getContentResolver().query(Uri.withAppendedPath(Telephony.Carriers.CONTENT_URI, "current"), null, null, null, null);
Ve Android 4.2 ve daha bu kodu kullanın
Gizli (Bu sınıfı internette buldum).
import android.database.sqlite.SqliteWrapper;
Ya benim app bu kullanarak çalıştı ve bu hatayı atar: 'java.lang.SecurityException: APN ayarları yazmak için izin yok: Ne kullanıcı 10099 ne de şimdiki işlem android.permission.WRITE_APN_SETTINGS.' – toobsco42
gerekli izni ekleyin (http://developer.android.com/reference/android/Manifest.permission.html#WRITE_APN_S ETTINGS) manifestosuna – Asahi
Bildirime eklemeyi denediğimde, yalnızca yerel uygulamaların bu izni ekleyebileceğini söylediler. – toobsco42