11

私のアプリでは、以下のコードを使用して SMS 送信者の保存された名前を取得したいのですが、常に null を返します。送信者名を取得する便利な方法を教えてください。

Uri SMS_INBOX = Uri.parse("content://sms/inbox");
         Cursor c = getContentResolver().query(SMS_INBOX, null, null, null, null);
         android.util.Log.i("COLUMNS", Arrays.toString(c.getColumnNames()));

            try {
                if(c.getCount()>0)
                {
                    while (c.moveToNext()){
                     Log.d("SMSss", "Contact : "+c.getString(2)+"\n"
                         +"msg : "+c.getString(11)+"\n"
                         +"ID : "+c.getString(0)+"\n"
                         +"Person : "+c.getString(3));
                    }
                }
            } catch (Exception e) {

            Log.d("mmmmmmmmm"," "+ e.getStackTrace());
            }

私はメニフェストで次の許可を使用しています

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

入手方法を教えてください。前もって感謝します。

4

2 に答える 2