Android學習之——操作SIM卡聯系人

今天!!!對,就是就是今天,,,,我終於換手機啦啦啦,四兒子拿到手啦…雖然是個二手貨,不過人傢他爸也不賣瞭,隻能買二手貨瞭,五兒子那凸凸的攝像頭和價格又有點難以下咽。
嗯…..新機子到手,折騰一番是必須的,先是恢復出廠設置,刷機就不必瞭,本身就是android4.4.2瞭。話說剪的卡是各種蛋疼,插進入居然沒反應,用室友的MX3上的SIM也插進去也是,沒反應。然後呢,然後百度谷歌,答案是,剪的卡因為磁條太大,和卡托上的兩邊的金屬碰到瞭。
解決辦法:卡托兩邊的壓住SIM卡的兩根金屬條貼上膠帶即可,一定要貼準確,不能多不能少,這個是個細致活….嗯,相當細致,搞瞭快一個小時….

好吧,下面開始正題:

碰到一個問題,我想刪掉SIM卡裡200多條的聯系人,何解???android原生版本本身好像不支持管理SIM卡聯系人的操作,隻有從SIM卡導出聯系人的選項,不曉得有木有人瞭解的。

俺好像不太喜歡下軟件,除瞭必備的幾款軟件之外。今天QQ又一次莫名其妙被盜,搞的我心理慌慌。軟件更加不敢下瞭(雖然,應該不是手機軟件的問題,但是之前在Windows Phone 8 上面玩那什麼勞什子的山寨版的 像素鳥,結果不小心點到瞭廣告,兩分鐘後好友電話打來,QQ被盜,亂發消息。:(
嗯,正式進入正題:解決辦法:自己寫一個管理聯系人的小工具不就行瞭唄。

然後就是百度谷歌開始找資料,如下:
http://blog.csdn.net/voiceofnet/article/details/7760323

http://blog.csdn.net/qq435757399/article/details/7947847

兩個鏈接需要結合起來用

首先,添加權限:
這個很重要,老是忘記,導致老是報錯
有兩個權限:“讀權限和寫權限“:

 

我是在Fragment下面進行的操作,所以代碼略微會有點不同:
其次,xml佈局文件:


    
        

java文件:

 @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        // inflate the layout
        View view = inflater.inflate(R.layout.fragment_text, null);
        textView = (TextView) view.findViewById(R.id.textView);
        btnSelect = (Button) view.findViewById(R.id.btnSelect);
        btnDelete = (Button) view.findViewById(R.id.btnDelect);
        btnSelect.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
//我發現開瞭線程還是會阻塞UI線程,不曉得是什麼原因,難道?我需要用AsyncTask?或者是Handler來處理。
//因為忙著玩新手機,所以我暫時也不深究瞭,哈哈,慢慢來,四兒子想瞭它一年多瞭。
                new Thread(new Runnable() {
                    @Override
                    public void run() {
                        SimQuery();//執行查詢操作
                    }
                }).start();
                textView.setText(messageString);
            }
        });
        btnDelete.setOnClickListener(new View.OnClickListener() {
 
            @Override
            public void onClick(View v) {
                new Thread(new Runnable() {
                    @Override
                    public void run() {
                        SimDelete();//執行刪除操作
                    }
 
                }).start();
                textView.setText("刪除成功!");
            }
        });
        return view;
    }

相關查詢聯系人和刪除聯系人的操作:

private void SimQuery() {
        //SIM的provider是IccProvider,IccProvider的Uri是content://icc/adn
    Uri uri = Uri.parse("content://icc/adn");
    Cursor cursor = getActivity().getContentResolver().query(uri, null,
            null, null, null);
    Log.v("MAIN", "-----------" + cursor.getCount());
    while (cursor.moveToNext()) {
        String id = cursor.getString(cursor.getColumnIndex(People._ID));
        String name = cursor.getString(cursor.getColumnIndex(People.NAME));
        String phoneNumber = cursor.getString(cursor
                .getColumnIndex(People.NUMBER));
        messageString += "id:" + id + "  name:" + name + "  phoneNumber:"
                + phoneNumber + "\n\r";
        Log.v("MAIN", "--->>>_id: " + id + "--->>>name:" + name
                + "--->>>phone number:" + phoneNumber + "\n\r");
    }
    cursor.close();//註意一定要close
}
 
private void SimDelete() {
    Uri uri = Uri.parse("content://icc/adn");
    Cursor cursor = getActivity().getContentResolver().query(uri, null,
            null, null, null);
    Log.v("MAIN", "------------->>>>>" + cursor.getCount());
    while (cursor.moveToNext()) {
        String name = cursor.getString(cursor.getColumnIndex(People.NAME));
        String phoneNumber = cursor.getString(cursor
                .getColumnIndex(People.NUMBER));
        String where = "tag='" + name + "'";
        where += " AND number='" + phoneNumber + "'";
        getActivity().getContentResolver().delete(uri, where, null);
    }
    cursor.close();//註意一定要close
}

關於修改聯系人和插入聯系人的操作,大傢就請移步鏈接吧,如果我有這個需要,我就會寫出來的。
不過誰需要呢…除非為瞭換成功能機,黑白屏的那種,會需要用SIM卡聯系人,否則,智能機,現在到處給你這裡備份那裡備份的,又是谷歌備份,又是豌豆莢,又是什麼QQ同步助手,人傢備份都支持頭像的,SIM又不支持頭像,設置瞭大半天的聯系人頭像,在SIM卡裡跟本就不起作用,而且一個姓名對應一個號碼,如果一個姓名下面有多個號碼,那就給你來個復制粘貼….
嗯…不吐槽瞭。保持好心情。

周末瞭終於可以見到俺傢妹子瞭,還是很開心的,一起泡泡圖書館神馬的最開心瞭。買手機的事情還沒跟她說叻….會挨罵的….唉,算瞭,哥哥挺的過去。

哎呀,補充一個內容,今天弄瞭下SlidingMenu,還是很好玩的。打算用這個做我的第二個應用,名曰:Mr.傅的自白
相關學習鏈接:http://my.eoe.cn/kris/archive/1605.html
http://my.eoe.cn/kris/archive/1688.html

最近看的書:《Android程序設計》難度有點啊…特別是Java那塊,Java這麼難麼….有點憂慮啊。

再PS:很開心啊,上首頁瞭上首頁瞭有圖有真相:

給鏈接給鏈接:http://blog.csdn.net/fu222cs98/article/details/21053491



Mr.傅:學習筆記

歡迎轉載,轉載註明出處,謝謝

發佈留言