安卓10获取OAID

本文介绍在安卓10上通过移动安全联盟SDK获取OAID参数的方法。主要步骤包括下载并集成MSA SDK,初始化SDK及在子线程中获取OAID。注意避免在主线程调用获取OAID函数。

项目需求安卓10需要获取oaid参数,网上找了一圈,发现写的实现方式都比较复杂多余。摸索了一下 这里做个记录

1:下载移动安全联盟(MSA)提供的sdk

2:一般安卓项目可以直接接入移动安全联盟提供的aar格式sdk包,不过由于我们项目比较特殊,我把aar格式的sdk拆分成jar包资源进行集成的:

步骤也比较简单,把所有的资源放入项目的指定位置,配置一下需要的权限

3:下面是实现的代码,一共就两个步骤:初始化sdk、获取oaid 结束。

参考下面加粗倾斜部分代码,要注意获取oaid不要在主线程中调用,否则可能报错

public class MainActivity extends AppCompatActivity {
    private String TAG = "MainActivity";
    private TextView tvMsg;
    int errorCode = 0;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        tvMsg = findViewById(R.id.tv_msg);

        try {
            JLibrary.InitEntry(MainActivity.this);//初始化
        } catch (Exception e) {
            e.printStackTrace();
        }

        new Thread(){
            @Override
            public void run() {
                //需要在子线程中处理的逻辑
                errorCode = MdidSdkHelper.InitSdk(MainActivity.this, true, new IIdentifierListener() {
                    @Override
                    public void OnSupport(boolean b, IdSupplier idSupplier) {
                        if (idSupplier == null) {
                            return;
                        }
                        Log.e(TAG,"OAID = " + idSupplier.getOAID());
                        tvMsg.setText("OAID = " + idSupplier.getOAID());
                    }
                });
            }
        }.start();


        if (errorCode  == ErrorCode.INIT_ERROR_DEVICE_NOSUPPORT) {//不支持 的设备
            Log.e(TAG,"不支持的设备");
        } else if (errorCode == ErrorCode.INIT_ERROR_LOAD_CONFIGFILE) {// 加载配置文件出错
            Log.e(TAG,"加载配置文件出错");
        } else if (errorCode == ErrorCode.INIT_ERROR_MANUFACTURER_NOSUPPORT) {//不支持的设备厂商
            Log.e(TAG,"不支持的设备厂商");
        } else if (errorCode == ErrorCode.INIT_ERROR_RESULT_DELAY) {//获取接口是异步的,结果会在回调中返回,回调执行的回调可能在工作线程
            Log.e(TAG,"获取接口是异步的,结果会在回调中返回,回调执行的回调可能在工作线程");
        } else if (errorCode == ErrorCode.INIT_HELPER_CALL_ERROR) {//反射调 用出错
            Log.e(TAG,"反射调用出错");
        }
    }


}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值