-2

こんにちは、私はAndroid SMSアプリを開発しており、組み込みのメッセージングアプリからSMSをフェッチしています

    Uri uriSMSURI = Uri.parse("content://mms-sms/conversations?simple=true");
    Cursor cursor = getContentResolver().query(uriSMSURI, new String[] {"*"}, null, null, "date desc");

        while (cursor.moveToNext()) 
        {
            snippet = cursor.getString(cursor.getColumnIndexOrThrow("snippet"));
            Long date = cursor.getLong(cursor.getColumnIndexOrThrow("date"));

            recipient_ids = cursor.getString(cursor.getColumnIndexOrThrow("recipient_ids"));
            recipient_ids.split(" ");


            Cursor c = getContentResolver().query(Uri.parse("content://mms-sms/canonical-addresses"), null, "_id = " + recipient_ids, null, null);
            c.moveToFirst();
            phonenumber= c.getString(c.getColumnIndexOrThrow("address")); 


        }

グループ SMS がある場合、以下のように myApp で強制終了しています

 java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.Sms}: android.database.sqlite.SQLiteException: near "8": syntax error: , while compiling: SELECT _id, address FROM canonical_addresses WHERE _id = 4 8

グループ SMS を読み取って _id と比較するにはどうすればよいですか。助けてください。ありがとう!

4

1 に答える 1

0

「4」と「8」の間のスペースが問題だと思います。

于 2013-10-15T11:34:33.960 に答える