2

我一直在尝试从 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

    );  

    }

如果您对此有所了解,请告诉我。

谢谢

4

2 回答 2

2

写给usim的信中有一些拼写错误。

getContentResolver().insert(Uri.parse("content://icc/adn"), values);

还应在 AndroidManifest 中添加权限。

(附带问题)在simsalabim的源代码中,我不知道类变量“Contact”的含义。我找不到可以导入的包。在 Eclipse 中,“联系人”行中有错误。

源代码说该文件content://icc/adn适用于 1.6 以上的 android 版本,适用于 1.5 content://sim/adn

(附带结果)我发现“数字”字段的大小可以超过 64 个字符。在读取过程中,可以检索到正确的值。但真正的手机屏幕无法显示完整的字符。

于 2012-07-31T10:57:36.983 回答
0

您是否添加了权限AndroidManifest

你应该有:

<uses-permission android:name="android.permission.READ_CONTACTS"/>
<uses-permission android:name="android.permission.WRITE_CONTACTS"/>

您还可以从simsalabim的源代码中获得一些想法。

于 2011-07-22T04:20:01.987 回答