资源简介
获取android系统的oaid当前最新的msa_mdid_1.0.13,附带使用说明文档,亲测可用,请放心食用
1、把 miit_mdid_x.x.x.aar 拷贝到项的 libs 目录,并设置依赖,其中 x.x.x代表版本号。
2、将 supplierconfig.json中可以暂时不填写appid,后面也许会用到
代码片段和文件信息
package ;
import android.content.Context;
import android.support.annotation.NonNull;
import android.util.Log;
import com.bun.miitmdid.core.ErrorCode;
import com.bun.miitmdid.core.MdidSdk;
import com.bun.miitmdid.core.MdidSdkHelper;
import com.bun.supplier.IIdentifierListener;
import com.bun.supplier.IdSupplier;
/**
* Created by zheng on 2019/8/22.
*/
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: “+String.valueOf(nres));
}
/*
* 通过反射调用,解决android 9以后的类加载升级,导至找不到so中的方法
*
* */
private int CallFromReflect(Context cxt){
return MdidSdkHelper.InitSdk(cxttruethis);
}
/*
* 直接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(““);
builder.append(“OAID: “).append(oaid.isEmpty() ? “\“\““ : oaid).append(““);
builder.append(“VAID: “).append(vaid.isEmpty() ? “\“\““ : vaid).append(““);
builder.append(“AAID: “).append(aaid.isEmpty() ? “\“\““ : aaid).append(“}“);
String idstext=builder.toString();
if(_listener!=null){
_listener.OnIdsAvalid(idstext);
}
}
public interface AppIdsUpdater{
void OnIdsAvalid(@NonNull String ids);
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 2999 2020-06-09 14:07 msa_mdid_1.0.13\MiitHelper.java
文件 287079 2020-03-30 15:54 msa_mdid_1.0.13\msa_mdid_1.0.13.aar
文件 186 2020-06-09 13:46 msa_mdid_1.0.13\supplierconfig.json
文件 33280 2020-06-09 14:03 msa_mdid_1.0.13\使用说明.doc
目录 0 2020-06-09 14:07 msa_mdid_1.0.13
----------- --------- ---------- ----- ----
323544 5
相关资源
- Android代码-多功能拨号盘源码.zip
- printershare直接破解版--11.5(适配andr
- android RDP远程桌面客户端源码
- 手机远程控制手机android
- spring boot+ios app+android app 即时通讯项目
- Androidrepo文件
- Aandroid 多线程断点续传同时多个大文
- Vue项目实现手机端上传图片,使用于
- Android多文件断点续传
- Android多线程文件夹及断点续传
- android 安卓 FTP 文件 管理
- Android-5.1.1_r1源码.7z
- mac版adb工具
- NFC Card万能读卡android程序
- Android直连Mysql数据库需要导入的jar包
- android实现谷歌地图项目
- Android日历239876
- 主页面框架
- Android双列滑动表格(双表头不动)
- android绘制心电图
- Android安卓中文API开发文档参考手册官
- Android开发的UI图标大全
- Crypto++ 7.0.0 for Android 已编译
- Android手机通过otg线外接usb摄像头
- AndroidStudio使用svn第一次提交忽略文件
- Android编程设计模式之原型模式详解
- 浅谈Android客户端与服务器的数据交互
- 基于android框架的客户端和基于java服务
- 好用的支持android 6.0以上的libserial_p
- AndroidStudio插件配置
评论
共有 条评论