美文网首页
获取OAID

获取OAID

作者: 清辉_ | 来源:发表于2022-05-05 20:17 被阅读0次
    方法一  适用1.0.3 
    
    先在 Application 里面的onCreate()  JLibrary.InitEntry(this);//获取oaid初始化 
    
    public class MyOaIdUtils{
        public static void getOAID(Context context, final ADOAIDCallBack callBack) {
    
            //1.0.13
            MdidSdkHelper.InitSdk(context, true, new IIdentifierListener() {
                @Override
                public void OnSupport(boolean b, IdSupplier idSupplier) {
                    Log.e("tag", "返回值:" + b);
                    if (b) {
                        oaid = idSupplier.getOAID();
                        Log.e("tag", "获取oaid:" + oaid);
                    }
                    System.out.println("返回值:" + b+" 获取oaid:" + oaid);
                    callBack.getOAIDSuccess(oaid);
                }
            });
    
    //ADOAIDCallBack 接口类
    public interface ADOAIDCallBack {
    
        void getOAIDSuccess(String oaid);
    }
    
    
    调用 
    MyOaIdUtils.getOAID(context, new ADOAIDCallBack () {
                    @Override
                    public void getOAIDSuccess(String oaid) {
                        Log.e("tag", "获取oaid:" + oaid);
                    }
                });
    
    
    //官方的demo 
    
    import android.content.Context;
    import android.util.Log;
    import com.bun.miitmdid.core.ErrorCode;
    import com.bun.miitmdid.core.MdidSdkHelper;
    import com.bun.miitmdid.interfaces.IIdentifierListener;
    import com.bun.miitmdid.interfaces.IdSupplier;
    
    /**
     * Created by caict on 2020/6/8.
     */
    public class DemoHelper implements IIdentifierListener {
       private AppIdsUpdater _listener;
       public DemoHelper(AppIdsUpdater callback){
          _listener=callback;
       }
       public void getDeviceIds(Context cxt){
          long timeb=System.currentTimeMillis();
          // 方法调用
          int nres = CallFromReflect(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:"+String.valueOf(nres));
       }
       /*
        * 方法调用
        * */
       private int CallFromReflect(Context cxt){
          return MdidSdkHelper.InitSdk(cxt,true,this);
       }
       /*
        * 获取相应 id
        * */
    
       @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( String ids);
       } }
    
    
    // 在自己的类中调用
    
            DemoHelper miIdHelper = new DemoHelper(new DemoHelper.AppIdsUpdater() {
                @Override
                public void OnIdsAvalid(String ids) {
                    System.out.println("2====返回值:" +" 获取oaid:" + ids);
                    if (ids.contains("true")){
                        oaid = substringTest03(ids);
                        callBack.getOAIDSuccess(oaid);
                    }else {
                        callBack.getOAIDSuccess("");
                    }
    
                }
            });
    
            miIdHelper.getDeviceIds(context);
    

    相关文章

      网友评论

          本文标题:获取OAID

          本文链接:https://www.haomeiwen.com/subject/rjyoyrtx.html