[英]Printing Android Advertising ID in a Textview
問題:我正在嘗試編寫一個准系統的android應用程序,該應用程序僅在textview中顯示您的廣告ID。 我的代碼可以很好地編譯,但是當我運行它時,我的textview保持不變(它只是保持為“ New Text”)。
我的代碼:我已經導入了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.