我一直在尝试从SIM卡上读/写,但仍然没有运气。
到目前为止,这是我的代码:
//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;
}
//写入sim
public void testing4() {
ContentValues values = new ContentValues();
values.put( "tag", "test" );
values.put( "number", "1234" );
getContentResolver().insert( Uri.parse("content://icc/adn/"); , values
);
}
如果您对此有所了解,请告诉我。
由于
答案 0 :(得分:2)
写给usim时有一些拼写错误。
getContentResolver().insert(Uri.parse("content://icc/adn"), values);
此外,还应在AndroidManifest中添加权限。
(旁边的问题) 在simsalabim的源代码中,我不知道类变量“Contact”的含义。 我找不到可以导入的包。在日食中,“联系”行中存在错误。
源代码表示文件content://icc/adn
适用于1.6以上的Android版本,适用于1.5 content://sim/adn
。
(副成果) 我发现“数字”字段的大小可以超过64个字符。在读取过程中,可以检索正确的值。 但真正的手机屏幕无法显示完整的字符。
答案 1 :(得分:0)
您是否已将权限添加到AndroidManifest
?
你应该:
<uses-permission android:name="android.permission.READ_CONTACTS"/>
<uses-permission android:name="android.permission.WRITE_CONTACTS"/>
您还可以从simsalabim的源代码中获得一些想法。