对不起,基于安全和隐私的考虑,Android从4.4(KitKat)版本开始,不再允许应用在无特殊权限的情况下读取短信中心号码。而且,对于大部分设备,你也无法通过编程方式获取或设置短信中心号码。
除非应用是用户设备上的默认短信应用,并且拥有READ_SMS或WRITE_SMS权限,否则不能够获取或设置短信中心号码。
如果你必须要获取短信中心号码,你可能需要让用户手动输入或从运营商获取。
此外,对于大部分用户,他们的短信中心号码是由运营商设置的,并且通常不会改变,所以对大部分应用来说,获取短信中心号码并不必要。
要注意的是,尝试访问或更改用户的短信中心号码可能会引起隐私问题,因此只有在你明确知道你在做什么,且这是解决问题的唯一方式的情况下,才应该考虑进行此操作。
在Android中,你可以通过以下代码获取到短信中心号码,但要注意,这需要获得用户的读取短信的权限(READ_SMS),同时这个API在某些设备或Android版本中可能不会工作。
Uri uri = Uri.parse("content://sms/");
Cursor cursor = this.getContentResolver().query(uri, null,null, null, null);
if (cursor != null) {
cursor.moveToFirst();
String serviceCenter = cursor.getString(cursor.getColumnIndex("service_center"));
}
这段代码通过访问手机的短信数据库,然后取出service_center字段的值,即短信中心号码。但由于短信数据库是私有的,不同公司的手机可能数据库的结构会有所不同,因此并不能保证在所有的设备上都能正确的获取到短信中心号码。
对于没有学习过Android开发和Java语言的人,这段代码可能较难理解,长春阿里云代理商如果需要开发相关功能,建议找专业的技术人员进行开发。
发布者:luotuoemo,转转请注明出处:https://www.jintuiyun.com/167884.html