Чтение / запись с сим-карты для Android
Я пытался читать / писать с сим-карты, но все же не повезло.
вот мой код до сих пор:
//read from sim
public String adding() {
Uri simUri = Uri.parse("content://icc/adn/");
Cursor cursorSim = this.getContentResolver().query(simUri, null, null,null, null);
String b = "";
while (cursorSim.moveToNext()) {
b+= (cursorSim.getString(cursorSim.getColumnIndex("name")));
b += "\n" + (cursorSim.getString(cursorSim.getColumnIndex("_id")));
b+= "\n" + (cursorSim.getString(cursorSim.getColumnIndex("number")));
}
return b;
}
// написать в сим
public void testing4() {
ContentValues values = new ContentValues();
values.put( "tag", "test" );
values.put( "number", "1234" );
getContentResolver().insert( Uri.parse("content://icc/adn/"); , values
);
}
пожалуйста, дайте мне знать, если вы что-то знаете об этом.
Спасибо
2 ответа
Есть некоторые ошибки в написании usim.
getContentResolver().insert(Uri.parse("content://icc/adn"), values);
Также разрешение должно быть добавлено в AndroidManifest.
(Дополнительный вопрос) В исходном коде simsalabim я не знаю значения переменной класса "Контакт". Я не могу найти пакет, который можно импортировать. В затмении есть ошибки в строках "Контакт".
Исходный код говорит, что файл content://icc/adn
для андроид версии более 1.6, для 1.5 content://sim/adn
,
(Побочный результат) Я обнаружил, что размер поля "число" может быть более 64 символов. В процессе чтения можно получить правильное значение. Но реальный экран телефона не может показать полные символы.
Добавили ли вы разрешения для AndroidManifest
?
У тебя должно быть:
<uses-permission android:name="android.permission.READ_CONTACTS"/>
<uses-permission android:name="android.permission.WRITE_CONTACTS"/>
Вы также можете получить некоторые идеи из исходного кода simsalabim.