Double 0 2022-03-23 15:41 采纳率: 0%
浏览 156

Android studio开发app的OAID如何获取?Android studio一直报错

跟着开发文档修改相应数值后并不能获取到OAID,Android studio一直报错
开发文档为https://developer.huawei.com/consumer/cn/codelab/HMSAdsOAID/index.html#2

img

img

img

package com.huawei.pps.hms.test.oaid;

import android.os.Bundle;
import android.text.TextUtils;
import android.util.Log;
import android.widget.TextView;

import com.huawei.pps.hms.test.BaseActivity;
import com.huawei.pps.hms.test.R;

public class OaidActivity extends BaseActivity implements OaidCallback {//这里报错
    private static final String TAG = "OaidActivity";
    private TextView mAdIdTv;
    private TextView mDisableAdIdTv;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_ad_id);
        init();
    }

    protected void init() {
        super.init();
        // Create the "ad_id" TextView, which tries to show the obtained "OAID".
        mAdIdTv = findViewById(R.id.ad_id_tv);
        // Create the "disable_ad_id" TextView, which tries to show the obtained "Disable Personalized Ads" Switch
        mDisableAdIdTv = findViewById(R.id.disable_ad_id_tv);
        getIdentifierThread.start();
    }

    /**
     * Obtains device ID information from a non-UI thread.
     */
    private Thread getIdentifierThread = new Thread() {

        @Override
        public void run() {
            getOaid();
        }
    };

    private void getOaid() {
        //  Get OAID by sdk mode.
        OaidSdkUtil.getOaid(this, this);
    }

    /**
     * Update the device ID information from a UI thread.
     */
    private void updateAdIdInfo(final String oaid, final boolean isLimitAdTrackingEnabled) {
        runOnUiThread(new Runnable() {
            @Override
            public void run() {
                if (!TextUtils.isEmpty(oaid)) {
                    mAdIdTv.setText(oaid);
                }
                mDisableAdIdTv.setText(String.valueOf(isLimitAdTrackingEnabled));
            }
        });
    }

    @Override//这里报错
    public void onSuccuss(String oaid, boolean isOaidTrackLimited) {
        Log.i(TAG, "oiad=" + oaid + ", isLimitAdTrackingEnabled=" + isOaidTrackLimited);
        updateAdIdInfo(oaid, isOaidTrackLimited);
    }

    @Override
    public void onFail(String errMsg) {
        Log.e(TAG, "getOaid Fail: " + errMsg);
    }

}




就是一编译就错,尝试在真机上调试也不行

img

img

这是根据华为官方demo下载下来的源码

https://developer.huawei.com/consumer/cn/codelab/HMSAdsOAID/index.html#4
它的文档达到的效果是

img

求安卓同仁指点江山,不甚感激
我连一个demo都运行不出来

  • 写回答

3条回答 默认 最新

  • 不会写代码的猴子 Android领域优质创作者 2022-03-23 17:27
    关注

    img

    img


    按这个操作来,把方法加进来

    评论

报告相同问题?

问题事件

  • 创建了问题 3月23日

悬赏问题

  • ¥15 onlyoffice编辑完后立即下载,下载的不是最新编辑的文档
  • ¥15 求caverdock使用教程
  • ¥15 Coze智能助手搭建过程中的问题请教
  • ¥15 12864只亮屏 不显示汉字
  • ¥20 三极管1000倍放大电路
  • ¥15 vscode报错如何解决
  • ¥15 前端vue CryptoJS Aes CBC加密后端java解密
  • ¥15 python随机森林对两个excel表格读取,shap报错
  • ¥15 基于STM32心率血氧监测(OLED显示)相关代码运行成功后烧录成功OLED显示屏不显示的原因是什么
  • ¥100 X轴为分离变量(因子变量),如何控制X轴每个分类变量的长度。