2011-07-22 75 views
2

我一直試圖從SIM卡讀取/寫入,但仍然沒有運氣。從sim卡讀取/寫入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; 


} 

//寫入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

你有沒有添加的權限AndroidManifest

你應該有:

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

您也可以從simsalabim的源代碼的一些想法。

+0

是的,我已經這樣做,但仍然無法工作 – Richard

+0

我試過了,但它仍然沒有工作.. @Macarse – Richard

+1

我加入了這個問題。你解決了那個問題了嗎?如果您有興趣,我已經解決了導入問題 – UnknownJoe

2

寫入usim時出現一些拼寫錯誤。

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

此外,應該在AndroidManifest中添加權限。

(旁邊問題) 在simsalabim的源代碼中,我不知道類變量「Contact」的含義。 我找不到可以導入的軟件包。在日食中,「聯繫」行中有錯誤。

源代碼說,文件content://icc/adn是Android版本超過1.6,爲1.5 content://sim/adn

(副作用) 我發現「數字」字段的大小可以超過64個字符。在讀取過程中,可以檢索正確的值。 但真正的手機屏幕無法顯示完整的字符。