Android 试图显示谷歌广告时发出警告
我正在尝试显示我的谷歌广告,我正在用oncreate方法 这就是我正在做的Android 试图显示谷歌广告时发出警告,android,Android,我正在尝试显示我的谷歌广告,我正在用oncreate方法 这就是我正在做的 protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.cities); AdView adView = new AdView(this, AdSize.BANNER, "a150cb2e3184cd
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.cities);
AdView adView = new AdView(this, AdSize.BANNER, "a150cb2e3184cd");
LinearLayout addLay = (LinearLayout) findViewById(R.id.addlay);
AdRequest adRequest = new AdRequest();
// adRequest.addTestDevice(AdRequest.TEST_EMULATOR);
addLay.addView(adView);
adRequest.setTesting(true);
adView.loadAd(adRequest);
但是,当我运行我的应用程序时,我会收到以下警告,并且屏幕转换很慢
这是警告
03-20 05:07:22.952: W/webview_proxy(8998): java.lang.Throwable: Warning: A WebView method was called on thread 'AsyncTask #4'. All WebView methods must be called on the UI thread. Future versions of WebView may not support use on other threads.
03-20 05:07:22.952: W/webview_proxy(8998): at android.webkit.WebView.checkThread(WebView.java:1876)
03-20 05:07:22.952: W/webview_proxy(8998): at android.webkit.WebView.loadDataWithBaseURL(WebView.java:859)
03-20 05:07:22.952: W/webview_proxy(8998): at c.a(Unknown Source)
03-20 05:07:22.952: W/webview_proxy(8998): at c.doInBackground(Unknown Source)
03-20 05:07:22.952: W/webview_proxy(8998): at android.os.AsyncTask$2.call(AsyncTask.java:287)
03-20 05:07:22.952: W/webview_proxy(8998): at java.util.concurrent.FutureTask.run(FutureTask.java:234)
03-20 05:07:22.952: W/webview_proxy(8998): at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230)
03-20 05:07:22.952: W/webview_proxy(8998): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
03-20 05:07:22.952: W/webview_proxy(8998): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
03-20 05:07:22.952: W/webview_proxy(8998): at java.lang.Thread.run(Thread.java:856)
这是我的AsyncTask类
public class CityData extends AsyncTask<Integer, Void, String> {
@Override
protected void onPostExecute(String result) {
// TODO Auto-generated method stub
super.onPostExecute(result);
try {
if (!lstresponse.isEmpty()) {
lstresult.addAll(lstresponse);
lstcities.setAdapter(CustAdapter);
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
@Override
protected String doInBackground(Integer... params) {
// TODO Auto-generated method stub
SendRequesttoServer();
return "1";
}
@Override
protected void onPreExecute() {
// TODO Auto-generated method stub
super.onPreExecute();
}
}
公共类CityData扩展异步任务{
@凌驾
受保护的void onPostExecute(字符串结果){
//TODO自动生成的方法存根
super.onPostExecute(结果);
试一试{
如果(!lstress.isEmpty()){
lstreult.addAll(lstress);
lstcity.setAdapter(custapter);
}
}捕获(例外e){
//TODO自动生成的捕捉块
e、 printStackTrace();
}
}
@凌驾
受保护字符串doInBackground(整数…参数){
//TODO自动生成的方法存根
SendRequesttoServer();
返回“1”;
}
@凌驾
受保护的void onPreExecute(){
//TODO自动生成的方法存根
super.onPreExecute();
}
}
我犯了什么错误
谢谢:)因为
AdView
必须通过互联网进行沟通,而且广告出现需要时间
“block”或“lag”可能是adsdk的
线程试图让广告显示给您。我真的不认为AdMob
在试图获取广告时会阻止UI
线程,但是在您看到活动屏幕上显示的所有UI小部件项目(按钮、文本字段、图像等)和广告出现之间会有明显的延迟
尝试在线程中加载广告,如下所示:
您的错误表明
AsyncTask
中存在问题,代码在哪里?@Grishu我没有在AsyncTask中显示谷歌广告。在AsyncTask中,我执行的是一个使用方法但显示google广告的方法,我在oncreate method Only中执行的是删除async任务并尝试GoogleAds是否工作。?我没有说你在AsyncTask中显示广告,我只是向你询问AsyncTask
@Grishu ok Grishu的代码。对不起:)。。我添加了一个任务类。
public class MainActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
long now = System.currentTimeMillis();
new Thread(new Runnable() {
public void run() {
new AdView(this, AdSize.BANNER, "MY_ID");
}
}).start();
}