1

ネイティブの受信トレイに失敗した SMS があります。アプリケーションから取得できません。私が使用するクエリは次のとおりです。

content://mms-sms/conversations/73

SELECT transport_type, _id, thread_id, address, body, date, date_sent, read, type, status, locked, error_code, sub, sub_cs, date, date_sent, read, m_type, msg_box, d_rpt, rr, err_type, locked, st FROM (SELECT DISTINCT date * 1 AS normalized_date, 'sms' AS transport_type, _id, thread_id, address, body, date, date_sent, read, type, status, locked, error_code, NULL AS sub, NULL AS sub_cs, date, date_sent, read, NULL AS m_type, NULL AS msg_box, NULL AS d_rpt, NULL AS rr, NULL AS err_type, locked, NULL AS st FROM sms WHERE (thread_id = 73 AND (type != 3)) UNION SELECT DISTINCT date * 1000 AS normalized_date, 'mms' AS transport_type, pdu._id, thread_id, NULL AS address, NULL AS body, date, date_sent, read, NULL AS type, NULL AS status, locked, NULL AS error_code, sub, sub_cs, date, date_sent, read, m_type, msg_box, d_rpt, rr, err_type, locked, st FROM pdu LEFT JOIN pending_msgs ON pdu._id = pending_msgs.msg_id WHERE (thread_id = 73 AND msg_box != 3 AND (msg_box != 3)) ORDER BY normalized_date ASC) ORDER BY normalized_date ASC

ここで、73 はスレッド ID です。lollipop と kitkat では、問題なく動作します。しかし、マシュマロでは、「0」の新しいメッセージを返します。

ここで私を助けてください。

マシュマロのネイティブ SMS DB パラメータに変更はありましたか???

4

3 に答える 3

2

マシュマロでは、アクセス許可を取得する必要がありますランタイム

   final private int REQUEST_CODE_ASK_PERMISSIONS = 123;       


   if(Build.VERSION.SDK_INT < 23){
         //your code here
     }else {
        requestContactPermission();
    } 



    private void requestContactPermission() {

    int hasContactPermission =ActivityCompat.checkSelfPermission(context,Manifest.permission.READ_SMS);

    if(hasContactPermission != PackageManager.PERMISSION_GRANTED ) {
        ActivityCompat.requestPermissions(Context, new String[]{Manifest.permission.READ_SMS}, PERMISSION_REQUEST_CODE);
    }else {
        //Toast.makeText(AddContactsActivity.this, "Contact Permission is already granted", Toast.LENGTH_LONG).show();
         }
    }


   @Override
   public void onRequestPermissionsResult(int requestCode, String[]       permissions, int[] grantResults) {
    switch (requestCode) {
        case REQUEST_CODE_ASK_PERMISSIONS:
            // Check if the only required permission has been granted
            if (grantResults.length >0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {

                Log.i("Permission", "Contact permission has now been granted. Showing result.");
                Toast.makeText(this,"Contact Permission is Granted",Toast.LENGTH_SHORT).show();
            } else {
                Log.i("Permission", "Contact permission was NOT granted.");
                } 

             break;

    }
}
于 2016-05-24T13:49:40.530 に答える
0

この uri で試してみてください: content://sms/inbox

于 2016-03-09T09:24:55.983 に答える