Android Q中的唯一标识符
创始人
2024-08-15 03:30:16
0次

在Android Q中,唯一标识符的获取方式发生了变化。以下是获取Android Q中的唯一标识符的代码示例:

首先,在AndroidManifest.xml文件中添加以下权限:


然后,在Activity或Fragment中的代码中添加以下代码来获取唯一标识符:

import android.Manifest;
import android.content.pm.PackageManager;
import android.os.Build;
import android.telephony.TelephonyManager;
import android.util.Log;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {
    private static final int PERMISSION_REQUEST_READ_PHONE_STATE = 1;
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        // 检查是否有读取手机状态的权限
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q && checkSelfPermission(Manifest.permission.READ_PHONE_STATE) != PackageManager.PERMISSION_GRANTED) {
            requestPermissions(new String[]{Manifest.permission.READ_PHONE_STATE}, PERMISSION_REQUEST_READ_PHONE_STATE);
        } else {
            // 已经有权限,直接获取唯一标识符
            getDeviceId();
        }
    }
    
    @Override
    public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
        if (requestCode == PERMISSION_REQUEST_READ_PHONE_STATE) {
            if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
                // 获取到权限,获取唯一标识符
                getDeviceId();
            } else {
                // 用户拒绝授权,显示提示信息
                Toast.makeText(this, "需要授权读取手机状态权限才能获取唯一标识符", Toast.LENGTH_SHORT).show();
            }
        }
    }
    
    private void getDeviceId() {
        TelephonyManager telephonyManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
        if (telephonyManager != null) {
            String deviceId = telephonyManager.getImei(); // 获取IMEI
            if (deviceId == null) {
                deviceId = telephonyManager.getMeid(); // 获取MEID
            }
            Log.d("TAG", "唯一标识符: " + deviceId);
        }
    }
}

上述代码中,首先检查设备的Android版本是否为Android Q,并且检查是否已经授权了读取手机状态的权限。如果没有授权,会请求权限。如果已经授权,会直接调用getDeviceId()方法来获取唯一标识符。

请注意,Android Q中获取IMEI和MEID的方法已经被弃用,并且需要相应的权限。

相关内容

热门资讯

玩家必看科普开挂!皇豪互娱辅助... 玩家必看科普开挂!皇豪互娱辅助透视挂,打两圈兴化麻将是真的有外挂,其实有挂解密1、起透看视 皇豪互娱...
针对开挂!衡阳丫丫竞技辅助透视... 针对开挂!衡阳丫丫竞技辅助透视挂,锋视棋牌存在有外挂,总是有挂详情1、衡阳丫丫竞技辅助器安装包、衡阳...
一分钟了解辅助!娱友乐辅助透视... 一分钟了解辅助!娱友乐辅助透视挂,点点游戏真的是有外挂,总是详细教程点点游戏透视方法中分为三种模型:...
玩家科普开挂!黄阳辅助透视挂,... 玩家科普开挂!黄阳辅助透视挂,麻将合集真的有外挂,一直有挂总结亲,关键说明,黄阳透视脚本安卓赛季回归...
技术分享开挂!众城辅助透视挂,... 技术分享开挂!众城辅助透视挂,锦绣乐游真的有外挂,总是有挂辅助1、众城模拟器是什么优化,众城俱乐部是...
据权威媒体报道辅助!情怀莆仙辅... 据权威媒体报道辅助!情怀莆仙辅助透视挂,楚天游真的有外挂,其实有挂头条1、很好的工具软件,可以解锁游...
现场直击开挂!川麻圈辅助透视挂... 现场直击开挂!川麻圈辅助透视挂,功夫川麻存在有外挂,一贯有挂实锤1、下载好川麻圈正确养号方法之后点击...
玩家必看科普透视挂!趣乐辅助透... 玩家必看科普透视挂!趣乐辅助透视挂,大晋游戏存在有外挂,一贯有挂助手趣乐脚本下载中分为三种模型:趣乐...
一分钟了解透视挂!NG-pok... 一分钟了解透视挂!NG-poker辅助透视挂,诸暨翻财神真的有外挂,其实有挂工具1)NG-poker...
现场直击开挂!尧派辅助透视挂,... 现场直击开挂!尧派辅助透视挂,新时代真的有外挂,确实有挂解密1、上手简单,内置详细流程视频教学,新手...