南宁阿里云代理商:安卓未读短信代码

要在安卓手机上通过代码查询未读短信,你需要访问手机的SMS Content Provider。这是实现的一种方式:

public void checkUnreadSms() {
    final String[] projection = new String[]{"_id", "address", "person", "body", "date", "type", "read"};
    boolean flag = false;
    Cursor cursor = null;
    try {
        cursor = getApplicationContext().getContentResolver().query(Uri.parse("content://sms/inbox"), projection, "read=?", new String[]{"0"}, null);
        int indexBody = cursor.getColumnIndex("body");
        if (null != cursor && cursor.getCount() > 0) {
            cursor.moveToFirst();
            do {
                String strbody = cursor.getString(indexBody);
                Log.i("Info", "body: " + strbody);
            } while (cursor.moveToNext());

            if (!cursor.isClosed()) {
                cursor.close();
                cursor = null;
            }
        }
    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        if (cursor != null && !cursor.isClosed()) {
            cursor.close();
            cursor = null;
        }
    }
}

请注意调用上述代码获取短信需要有READ_SMS权限,请在你的AndroidManifest.xml中添加以下权限:

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

另外,从Android 6.0开始,检查和请求权限更加严格,你需要运行时请求权限:

if (ContextCompat.checkSelfPermission(this, Manifest.permission.READ_SMS) != PackageManager.PERMISSION_GRANTED) {
    ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.READ_SMS}, MY_PERMISSIONS_REQUEST_READ_SMS);
}

请注意,这是一种在安卓设备上直接读取未读短信的方法,和阿里云或者南宁或者代理商没有直接的关系。

以下是安卓未读短信的代码实例,这需要你的应用具有读取短信的权限。

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

public class MainActivity extends AppCompatActivity {

    private static final String TAG = "MainActivity";
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    
        Uri uriSms = Uri.parse("content://sms/inbox");
        Cursor cursor = null;
        try {
            ContentResolver contentResolver = getContentResolver();
            cursor = contentResolver.query(uriSms, new String[]{BaseColumns._ID, "address", "date", "body", "read"}, "read=?", new String[]{"0"}, null);
            if (cursor != null) {
                if (cursor.moveToFirst()) {
                    do {
                        String id = cursor.getString(cursor.getColumnIndex(BaseColumns._ID));
                        String address = cursor.getString(cursor.getColumnIndex("address"));
                        String date = cursor.getString(cursor.getColumnIndex("date"));
                        String read = cursor.getString(cursor.getColumnIndex("read"));
                        String body = cursor.getString(cursor.getColumnIndex("body"));

                        Log.d(TAG, "id: " + id + ", address: " + address + ", date: " + date + ", read: " + read + ", body: " + body);
                        
                    } while (cursor.moveToNext());
                }
            }
        } catch (Exception e) {
            Log.d(TAG, "Error while trying to get unread messages: ", e);
        } finally {
            if (cursor != null) {
                cursor.close();
            }
        }
    }
}

关于权限声明,在你的AndroidManifest.xml文件中添加以下权限:

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

这段代码将会查询所有的未读短信,并在LogCat中打印出每条短信的ID、发件人、日期、是否已读和内容。如果你需要做更复杂的处理,你可以在对应的位置添加你的代码。

南宁阿里云代理商:安卓未读短信代码

注意,因为这样的功能涉及到用户隐私,需要用户授予应用读取短信内容的权限,你必须妥善保护用户的隐私。

发布者:luotuoemo,转转请注明出处:https://www.jintuiyun.com/167183.html

(0)
luotuoemo的头像luotuoemo
上一篇 2024年3月16日 05:31
下一篇 2024年3月16日 05:40

相关推荐

  • 天津阿里云代理商:阿里云企业邮箱申请

    尊敬的用户,您好!如果您想申请阿里云企业邮箱的话,您可以联系天津阿里云的代理商。以下是申请阿里云企业邮箱的步骤: 首先,您可以通过天津阿里云代理商提供的联系方式与他们取得联系,咨询相关问题并提交您的申请。 在申请过程中,您需要提供您的企业信息,包括企业名称、企业规模、联系人姓名、联系人电话、联系人邮箱等等。 根据您的需求,代理商会为您提供相应的产品方案和报价…

    2024年2月14日
    39700
  • 宜春阿里云代理商:阿里云服务器远程登陆

    阿里云服务器远程登录有多种方式,以下是其中一种常见的方式: 在阿里云服务器控制台中创建实例,并选择合适的操作系统。 在实例详情页面中找到公网 IP 地址,并记录下来。 在本地计算机上打开终端(Windows 下是命令提示符或者 Power Shell,Mac 或 Linux 下是终端)。 输入以下命令: ssh root@<服务器公网 IP 地址&gt…

    2024年2月1日
    34900
  • 包头阿里云代理商:api版本的控制器

    API版本的控制器是指,根据不同的API版本,来决定使用不同的控制器处理请求。例如,当前的API接口有V1和V2两个版本,在V1版本中,用户信息只包含用户名和密码,而在V2版本中,用户信息包含了用户名、密码、邮箱、手机号等信息。 我们可以通过设置路由规则,实现根据API版本来访问不同的控制器。例如,在Laravel框架中,可以使用中间件来实现API版本的控制…

    2024年3月8日
    36500
  • 泉州阿里云代理商:阿里云it采购季

    泉州阿里云代理商欢迎大家参加阿里云IT采购季活动。在这个活动中,您可以享受到阿里云产品优惠、专业的技术支持和高品质的服务。 作为阿里云代理商,我们将为您提供全方位的解决方案,包括云计算、大数据、人工智能等领域的产品和服务。无论您是个人用户、中小企业还是大型企业,我们都能根据您的需求提供最合适的解决方案。 阿里云IT采购季活动期间,我们将提供专业的咨询和售后服…

    2023年12月17日
    35100
  • 阿里云运维人员面试

    阿里云面试有几轮 阿里云普通岗位面试一共有三轮,第一轮是群体面试,轮流自我介绍,分析每个人的优点,现场出题应对。第二轮是专业面试,询问你简历相关的东西。最后一轮考察你本身,需要真实性的回答。一般P7级以上至少有6面。一面是简历面,面试官应该是未来同组的同事,主要考察你的工作经历和项目情况,把自己简历多敲打敲打。二面是技术面,面试官也应该是未来同组的同事,可能…

    2023年8月25日
    31800

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

4000-747-360

在线咨询: QQ交谈

邮件:ixuntao@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
购买阿里云服务器请访问:https://www.4526.cn/