首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在android Q中编程获取IMSI?

在Android Q中,获取IMSI(国际移动用户识别码)的编程方法有所改变。由于隐私和安全的考虑,Android Q对于获取IMSI的权限进行了限制。以下是在Android Q中编程获取IMSI的方法:

  1. 首先,需要在AndroidManifest.xml文件中添加以下权限:
代码语言:txt
复制
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
  1. 在代码中,可以使用TelephonyManager类来获取IMSI。但是在Android Q中,需要先检查应用是否被授予READ_PHONE_STATE权限。可以使用以下代码进行权限检查:
代码语言:txt
复制
if (ContextCompat.checkSelfPermission(this, Manifest.permission.READ_PHONE_STATE) == PackageManager.PERMISSION_GRANTED) {
    // 已经被授予了权限,可以获取IMSI
    TelephonyManager telephonyManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
    String imsi = telephonyManager.getSubscriberId();
} else {
    // 未被授予权限,需要请求权限
    ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.READ_PHONE_STATE}, REQUEST_CODE);
}
  1. 在Android Q中,需要动态请求权限。可以使用以下代码请求权限:
代码语言:txt
复制
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
    if (requestCode == REQUEST_CODE) {
        if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
            // 权限被授予,可以获取IMSI
            TelephonyManager telephonyManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
            String imsi = telephonyManager.getSubscriberId();
        } else {
            // 权限被拒绝,无法获取IMSI
        }
    }
}

需要注意的是,在Android Q中,获取IMSI的权限被限制在了READ_PHONE_STATE权限中,而且用户可以选择拒绝授予该权限。因此,在应用程序中,需要处理权限被拒绝的情况,并提供相应的解决方案。

腾讯云相关产品和产品介绍链接地址:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Android获取手机IMEI,IMSI, MAC(Android 6.0)

最近项目中用到获取手机IMEI,IMSI以及MAC,在此记录一下,方便你我他。。。 那么什么时候会用到这些东西呢?...IMSI 国际移动用户识别码(IMSI:International Mobile Subscriber Identification Number)是区别移动用户的标志,储存在SIM卡,可用于区别移动用户的有效信息...经过排查,发现了下面一些结论,了解了解: 从Android 6.0之后,android 移除了通过 WiFi 和蓝牙 API 来在应用程序编程的访问本地硬件标示符。...结果如下,测试设备比较少,见谅~ 使用Android 6.0获取:”mac”:”ac:c1:ee:8d:78:03” 使用Android 5.0获取:”mac”:”38:bc:1a:d6:e6:1a”...期待Android越来越好~ 2017年8月16日10:28:31 更新兼容Android 7.0获取MAC为空

2.9K40

编程基础】Android如何获取资源的尺寸?

Android为了实现不同屏幕的适配,经常会用到在不同dimen.xml文件对于同一dimen ID定义不同的大小,然后在代码通过getDimension函数来获取,下面就来说说几种getDimension...getDimension()是基于当前DisplayMetrics进行转换,获取指定资源id对应的尺寸。文档里并没说这里返回的就是像素,要注意这个函数的返回值是float,像素肯定是int。...getDimensionPixelOffset()与getDimension()功能类似,不同的是将结果转换为int,并且偏移转换(offset conversion,函数命名的offset是这个意思...getDimension和getDimensionPixelOffset的功能类似,都是获取某个dimen的值,但是如果单位是dp或sp,则需要将其乘以density,如果是px,则不乘,并且getDimension

2.4K70

Android编程实现在自定义对话框获取EditText数据的方法

本文实例讲述了Android编程实现在自定义对话框获取EditText数据的方法。...遇到的最大的问题就是如何能够获取到自定义对话框当中edittext输入的数值,百度了很久,看到的答案都是如下: //得到自定义对话框 final View DialogView = a .inflate...DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // 获取.../** * 系统设定修改价格的弹出对话窗口 * * @author wangyubo * */ public class CustomDialogPriceModify extends Dialog...总结一些,对于自定义的对话框,无法在主activity初始化对话框里的控件的时候,可以将初始化或者取值的操作放到自定义控件里面,这样就可以取值和赋值操作,忙活了一天,终于在师傅的指导下完成了这部分功能

1.3K41

Android开发笔记(一百二十八)手机制式适配

查看网络类型等信息,用到了电话管理器TelephonyManager,它的对象从系统服务TELEPHONY_SERVICE获取,相关方法说明如下: getNetworkOperator : 获取运营商代码...getNetworkOperatorName : 获取运营商名称。中国移动、中国联通、中国电信等等。 getPhoneType : 获取电话类型。...因为双卡模块由各家芯片厂商自行定制,所以查询双卡信息没有统一的标准,开发者只有获得各厂商的私有查询API,然后在App各显神通,想办法知道当前手机用的是哪套双卡方案,详细的双卡信息又是什么。...它们都提供了查询两个卡槽的imei和imsi信息,不过由于是隐藏方法,故而要通过反射机制来调用。...getSubscriberId: 获取指定sim卡的imsi。 getSimOperator: 获取指定sim卡的运营商名称。 getNetworkType: 获取指定sim卡的网络类型。

2K20

盘点!2022年度TOP1000应用绿标安全标准评测数据年终总结来啦

主要不通过现象: ①APP本身获取软件安装列表信息、WLAN MAC信息等,但未在隐私政策告知用户。 举例:某金融理财类APP在浏览模式下,获取WLAN MAC信息,未在隐私政策声明。...解决方案:浏览模式下,隐私政策未以弹窗等形式向用户明示清晰收集使用个人信息的目的、方式和范围时,严禁获取任何用户数据。开发者需在隐私政策清晰明示该APP获取信息的类型以及获取目的、方式和范围。...②APP内嵌三方SDK广告类SDK(穿山甲、广点通等)、推送类SDK(个推、华为推送等)等获取系统安装的应用程序、IMSI、GPS定位信息等数据,未在隐私政策声明。...请开发者参见正确示例↓: 正确示例↑ 错误示例↑ ④APP本身或内嵌三方SDK未清晰明示具体获取的数据类型,仅用“设备信息”、“软硬件序列号”等代替设备MAC地址、IMSI和IMEI。...常见的问题现象:在用户拨打经销商、客服、商家(电话购票等方式)、机构电话等场景下进行电话咨询时,存在调用android.permission.CALL_PHONE权限的行为。

74810

1月安全专项评测报告发布,速看典型案例分析及解决方案!

在隐私检测项中发现,违规收集个人信息的应用占比最高,为87%,典型场景为APP本身或者内嵌三方SDK获取GPS定位、IMSI、系统安装的应用程序等信息,未在隐私政策告知用户。...其次是android.permission.BIND_ACCESSIBILITY_SERVICE权限,占比为22%。...仅限APP实现支持无障碍功能情况下,可以申请使用此权限,针对视障人士的屏幕朗读功能,其他场景一律禁用该权限!...同时com.tencent.smtt(腾讯)第三方SDK在用户未同意隐私政策之前,提前获取IMSI、IMEI信息。...其次请开发者在用户隐私政策等公示文本清晰罗列APP所集成的第三方SDK列表以及该SDK收集使用个人信息的目的、方式和范围及必要性,并在收集前征得用户同意。

50830

移动安全新“驾照”

一、背景 随着大数据和人工智能时代的到来,数据的价值也逐渐增加,移动终端设备标识码,国际移动设备识别码(IMEI)、Wi-Fi MAC地址、SIM卡国际移动用户识别码(IMSI)和蓝牙地址等终端设备标识信息的收集和使用成为普遍现象...如此一来,传统设备标识码(IMEI)将无法继续在Android 10系统的设备上使用。...(目前补充设备标识统一调用SDK处于开放试用阶段,可注册后下载使用) 三、OAID测试总结 近期小编所在项目的适配Android 10系统的版本,接入了统一的OAID SDK,下面将简单介绍在OAID...OAID的获取时机 可通过log或者抓请求的方式验证,在实际测试中发现,由于不同的设备,数据的获取可能在异步线程,OAID数据的获取时机就可能会有一定的延迟。...) 华硕 Android Q(10月份会正式支持) 魅族 10月份将支持 三星 10月份将支持 中兴 10月份将支持 努比亚 10月份将支持 3.

3.4K10

短信轰炸剖析

在互联网,由于越来越多的平台在注册会员,找回密码,以及手机支付的时候,为了防止他人冒用,恶意盗号,资金的安全往往都会使用短信验证码来验证,从而提升帐号的安全性,资金的安全。...=IMSI&client_type=1 mobile=手机号 imsi=手机的IMSI串号 client_type=发送验证码的类型(比如1=注册,2=找回密码,3=支付校验) 这里我在短时间内进行多次快速的发送数据包之后...262f5n0oyngp17n40g26x2bif User-Agent: TrafficPlusPlus/1.1 (iPhone; iOS9.1; Scale/3.00) Accept-Language: zh-Hans-CN;q=...1,zh-Hant-CN;q=0.9 Accept-Encoding: gzip, deflate Content-Length: 37 mobile=13800138000&smsCodeRand=753211... HJ_SIID=A68411C5-68F7-4329-B262-6E7A8E6216F8&HJ_Key_MId=20500decb237d82f&HJ_Key_Ver=41&HJ_Key_Type=Android

35.4K72

PoisonCake(毒蛋糕):内置于手机ROM的恶意代码模块

在分析过程,我们还发现该恶意代码存在明显的恶意代码作者身份标识tjj,ruanxiaozhen,并且其最后编译时间为2014年8月26日10点20分。...4)将自身拷贝到/data/.3q/dm,并创建/data/usr目录,然后删除自身。 5)fork自身并退出,子进程执行/data/.3q/dm,由其完成余下工作。 2....1)bean模块 bean模块主要完成对phone进程的注入,监听本地10023端口,获取手机号码、imsi、imei、apn、联网等信息,并实现短信发送与拦截、联网方式的控制。...::AndroidRuntime::mJavaVM和android::AndroidRuntime::getRuntime的获取。...libblackbean.so和readbean.dex.jar注入到phone进程,并执行com.android.phone.os.Program类。

1.1K80

安全研究 | 手把手教你抓取4G通信流量

淘宝有售 PCSC读卡器:用来读写USIM卡,GemaltoUSB Smart Card Reader 智能卡转接器:方便连接各类形状的USIM卡和读卡器 国际版Android手机:之所以使用国际版,是因为国际版手机对运营商和信号频段限制较小...准备IMSI、KI、OPC,这里的KI和OPC填入32位任意数值即可,IMSI为90170开头的任意数值。这三个关键信息填写好之后,开始烧录。...获取运营商网络EARFCN 利用www.cellmapper.net查询相应运营商的earfcn, 从图中可以看出中国联通的为1650。...选择移动网络-手动选择网络, 在本示例,自己搭建的网络显示为90170,选择后即可加入该网络。...输入ifconfig命令,可以看到rmnet_data1网卡已经获取到IP地址 172.16.0.2, rmnet_data对应的是移动网络,并且可以访问172.16.0.1。

2.2K10

APP因合规问题无法上架

如果反馈说有违规获取敏感信息行为,请查看Android平台各功能模块隐私合规协议 各功能模块隐私协议。如果你集成了相关模块就一定要写入到app的隐私协议。...然后查看Android平台各功能模块隐私合规协议 文档相关协议。将协议补充道隐私协议。切记不要只填写链接。明文说明获取了什么信息干什么用了都要说清楚。越清晰越好。...拿到java调用堆栈在ask论坛 发帖咨询 # 15、未经许可读取个人信息 获取ANDROID ID 检查是否集成了fcm推送(包含unipush的fcm)、google统计、google推送、google...原因是集成这些模块会将google的GMS服务导入安装包。启动会获取android id导致无法上架。...# 18、应用启动会主动申请手机存储权限、访问设备信息权限影响应用上架 请阅读文档Android平台应用启动时读写手机存储、访问设备信息(IMEI)等权限策略 。

3K20
领券