• 大小: 626KB
    文件类型: .zip
    金币: 2
    下载: 6 次
    发布日期: 2021-03-29
  • 语言: Java
  • 标签: OAID  Android  

资源简介

移动智能终端补充设备标识体系统一调用 SDK,版本为 1.0.13。可以解决Android Q之后获取设备唯一标识的需求

资源截图

代码片段和文件信息

package com.mdid.msa;

import android.content.Context;
import android.support.annotation.NonNull;
import android.util.Log;

import com.bun.miitmdid.core.ErrorCode;
import com.bun.miitmdid.core.MdidSdkHelper;
import com.bun.supplier.IIdentifierListener;
import com.bun.supplier.IdSupplier;

public class MiitHelper implements IIdentifierListener {

    private AppIdsUpdater _listener;

    public MiitHelper(AppIdsUpdater callback) {
        _listener = callback;
    }

    public void getDeviceIds(Context cxt) {
        long timeb = System.currentTimeMillis();
        int nres = CallFromReflect(cxt);
//        int nres=DirectCall(cxt);
        long timee = System.currentTimeMillis();
        long offset = timee - timeb;
        if (nres == ErrorCode.INIT_ERROR_DEVICE_NOSUPPORT) {//不支持 的设备

        } else if (nres == ErrorCode.INIT_ERROR_LOAD_CONFIGFILE) {// 加载配置文件出错

        } else if (nres == ErrorCode.INIT_ERROR_MANUFACTURER_NOSUPPORT) {//不支持的设备厂商

        } else if (nres == ErrorCode.INIT_ERROR_RESULT_DELAY) {//获取 接口是异步的,结果会在回调中返回,回调执行的回调可能在工作线程

        } else if (nres == ErrorCode.INIT_HELPER_CALL_ERROR) {//反射调 用出错

        }

        Log.d(getClass().getSimpleName() “return value: “ + nres);
    }

    /*
     * 通过反射调用,解决 android 9 以后的类加载升级,导至找不到 so 中 的方法
     *
     * */
    private int CallFromReflect(Context cxt) {
        return MdidSdkHelper.InitSdk(cxt true this);
    }

    /*
     * 直接 java 调用,如果这样调用,在 android 9 以前没有题,在 android 9 以后会抛找不到 so 方法的异常
     * 解决办法是和 JLibrary.InitEntry(cxt),分开调用,比如在 A 类中 调用 JLibrary.InitEntry(cxt),在 B 类中调用 MdidSdk 的方法
     * A 和 B 不能存在直接和间接依赖关系,否则也会报错
     *
     * */
   /* private int DirectCall(Context cxt){
        MdidSdk sdk = new MdidSdk();
        return sdk.InitSdk(cxtthis);
    }*/
    @Override
    public void OnSupport(boolean isSupport IdSupplier _supplier) {
        if(_supplier==null) {
            return;
        }
        String oaid=_supplier.getOAID();
        String vaid=_supplier.getVAID();
        String aaid=_supplier.getAAID();
        StringBuilder builder=new StringBuilder();
        builder.append(“support: “).append(isSupport?“true“:“false“).append(“\n“);
        builder.append(“OAID: “).append(oaid).append(“\n“);
        builder.append(“VAID: “).append(vaid).append(“\n“);
        builder.append(“AAID: “).append(aaid).append(“\n“);
        String idstext=builder.toString();
        if(_listener!=null){
            _listener.OnIdsAvalid(idstext);
        }
    }

    public interface AppIdsUpdater {
        void OnIdsAvalid(@NonNull String ids);
    }
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2020-04-21 14:12  miit_mdid_sdk_v1.0.13\
     目录           0  2020-04-21 21:17  miit_mdid_sdk_v1.0.13\miit_mdid_sdk_v1.0.13\
     文件        2904  2020-04-21 21:17  miit_mdid_sdk_v1.0.13\miit_mdid_sdk_v1.0.13\MiitHelper.java
     文件      287079  2020-02-04 12:06  miit_mdid_sdk_v1.0.13\miit_mdid_sdk_v1.0.13\msa_mdid_1.0.13.aar
     文件         136  2019-11-25 20:00  miit_mdid_sdk_v1.0.13\miit_mdid_sdk_v1.0.13\supplierconfig.json
     文件        1918  2020-02-06 14:13  miit_mdid_sdk_v1.0.13\release note.txt
     文件      365206  2020-02-06 18:07  miit_mdid_sdk_v1.0.13\移动智能终端补充设备标识体系统一调用SDK开发者说明文档v1.0.13.pdf

评论

共有 条评论