簡體   English   中英

在Textview中打印Android廣告ID

[英]Printing Android Advertising ID in a Textview

問題:我正在嘗試編寫一個准系統的android應用程序,該應用程序僅在textview中顯示您的廣告ID。 我的代碼可以很好地編譯,但是當我運行它時,我的textview保持不變(它只是保持為“ New Text”)。

這是我在AVD和實際設備上都看到的屏幕圖片

我的代碼:我已經導入了Google Play服務SDK,並且正在MainActivity類中的onCreate方法中使用以下代碼。

    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    //The textview I am trying to change
    uniqueID = (TextView) findViewById(R.id.special);
    // declarations for included ad plugin 
    adtechView = (AdtechBannerView) findViewById(R.id.ad_container);
    adtechView.getAdConfiguration();

    Context mContext = MainActivity.this.getApplicationContext();

    try {
        //This should be getting the advertising ID

        AdvertisingIdClient.Info adInfo = AdvertisingIdClient.getAdvertisingIdInfo(mContext);
        String AdId = adInfo.getId();

        //This should change the textview "uniqueID" to the Ad ID
        uniqueID.setText("Your ID is " + AdId);
    } catch (IllegalStateException e) {
        e.printStackTrace();
    } catch (GooglePlayServicesRepairableException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    } catch (GooglePlayServicesNotAvailableException e) {
        e.printStackTrace();
    }

我試過的

我已經通過一些相關問題調查了這個問題。 多個消息來源稱,由於無法訪問Google Play服務,該代碼可能無法正常工作。

我已經嘗試在沒有Google Play服務的AVD和具有該功能的實際設備上運行代碼。 兩者最終得到相同的結果。 (textview保持不變)

我已經基於以下網站編寫了此代碼: https : //www.safaribooksonline.com/blog/2014/01/16/advertising-id-android-kitkat/ ,其中提供了檢索廣告ID的教程。

我也已使用此堆棧溢出作為指導,但我沒有遇到他的代碼面臨的同一問題: AdvertisingIdClient getAdvertisingIdInfo永遠掛起

我究竟做錯了什么? 非常感謝!

您無法從主線程獲取廣告商ID。 https://www.safaribooksonline.com/blog/2014/01/16/advertising-id-android-kitkat/

從上面的代碼看來,這是在主線程上進行的。 我建議使用AsyncTask。 將廣告ID放入doInBackground實現中。 由於您只能在主線程上修改UI,因此請在onPostExecute實現中設置TextView的文本。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM