資源簡介
獲取android系統(tǒng)的oaid當(dāng)前最新的msa_mdid_1.0.13,附帶使用說明文檔,親測可用,請放心食用
1、把 miit_mdid_x.x.x.aar 拷貝到項(xiàng)的 libs 目錄,并設(shè)置依賴,其中 x.x.x代表版本號(hào)。
2、將 supplierconfig.json中可以暫時(shí)不填寫appid,后面也許會(huì)用到
代碼片段和文件信息
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){//不支持的設(shè)備
????????}else?if(?nres?==?ErrorCode.INIT_ERROR_LOAD_CONFIGFILE){//加載配置文件出錯(cuò)
????????}else?if(nres?==?ErrorCode.INIT_ERROR_MANUFACTURER_NOSUPPORT){//不支持的設(shè)備廠商
????????}else?if(nres?==?ErrorCode.INIT_ERROR_RESULT_DELAY){//獲取接口是異步的,結(jié)果會(huì)在回調(diào)中返回,回調(diào)執(zhí)行的回調(diào)可能在工作線程
????????}else?if(nres?==?ErrorCode.INIT_HELPER_CALL_ERROR){//反射調(diào)用出錯(cuò)
????????}
????????Log.d(getClass().getSimpleName()“return?value:?“+String.valueOf(nres));
????}
????/*
????*?通過反射調(diào)用,解決android?9以后的類加載升級(jí),導(dǎo)至找不到so中的方法
????*
????*?*/
????private?int?CallFromReflect(Context?cxt){
????????return?MdidSdkHelper.InitSdk(cxttruethis);
????}
????/*
????*?直接java調(diào)用,如果這樣調(diào)用,在android?9以前沒有問題,在android?9以后會(huì)拋找不到so方法的異常
????*?解決辦法是和JLibrary.InitEntry(cxt),分開調(diào)用,比如在A類中調(diào)用JLibrary.InitEntry(cxt),在B類中調(diào)用MdidSdk的方法
????*?A和B不能存在直接和間接依賴關(guān)系,否則也會(huì)報(bào)錯(cuò)
????*
????*?*/
????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);
????}
}
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件???????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
評(píng)論
共有 條評(píng)論