TAG不显示读取的短信?

TAG不显示读取的短信?

用红米手机运行此程序里能正常读取短信,Logcat正常出现。但是华为手机不行,也没有报错,Logcat一片空白?以往插入真机就会有一大堆字符不停出现的。请问一般是什么原因导致?

package com.example.getdatafromsystemdemo;

import android.content.ContentResolver;
import android.database.Cursor;
import android.net.Uri;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;

public class MainActivity extends AppCompatActivity {
/*Manifest.xml添加以下权限
 <uses-permission android:name="android.permission.RECEIVE_SMS"/>
 <uses-permission android:name="android.permission.READ_SMS"/>
**/
   @Override
   protected void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       setContentView(R.layout.activity_main);
   findViewById(R.id.sms_btn).setOnClickListener(new View.OnClickListener() {
       @Override
       public void onClick(View v) {
//            1.获取内容处理者
           ContentResolver resolver=getContentResolver();
//            2.查询方法
//            sms:short message service
           Uri uri=Uri.parse("content://sms");
           Cursor cursor=resolver.query(uri,null,null,null,null);
//            3.解析Cursor
//            遍历Cursor
           while(cursor.moveToNext()){
               String str="";
//                遍历该行记录的各列
             for(int i=0;i<cursor.getColumnCount();i++){
                 str+=cursor.getString(i)+" ";
             }
//              打印该行记录所有数据
               Log.e("TAG",str);
           }
       }
   });
   }
}

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
irista23 2019-04-21 11:53:04

华为手机是不是Android6.0+?因为短信权限在6.0+被google划为危险权限,需要动态申请权限,你可以参考如下教辅

http://img1.sycdn.imooc.com//climg/5cbbe9190001942c23981210.jpg

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
Android网络操作与数据存储2018版
  • 参与学习           人
  • 提交作业       307    份
  • 解答问题       1613    个

本专题是联网及数据处理的必备技能。课程从网络基础知识到线程间协同工作、异步下载处理。介绍了Android内外部文件存储、轻量级数据库SQLite的使用。利用屏幕适配、状态保持、百度地图解决实际问题。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师