2012-06-14 34 views
1

我正在为使用facebook sdk的android 2.2+制作应用程序。我的应用程序工作正常,所以在投放市场之前,我决定将一些广告与admob。要使用admob与以前的版本,你必须用adnroid 32+编译,所以这就是我所做的(我用的是api 15)。在Android 2.2-3.2我的应用程序工作和admob了,但在ICS(我测试它与Android 4.0.4联系)admob不显示任何广告,一些Facebook请求返回空结果和一些下载图片给出错误(我说“一些”,因为其他请求和其他下载图片工作..)。 我会在这里发布我的清单的相关部分和其他两个错误。如果去除广告和编译我的应用程序2.2它开始在我的project.properties再次很好地工作......admob妥协应用程序

# Project target. 
target=android-15 

我的清单:

<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads" 
package="com.***.***" 
android:versionCode="1" 
android:versionName="1.0" > 

<uses-sdk android:minSdkVersion="8" 
      android:targetSdkVersion="15" 

    /> 

<uses-permission android:name="android.permission.INTERNET" /> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
<uses-permission android:name="android.permission.WRITE_INTERNAL_STORAGE" /> 
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> 
<application 
    android:icon="@drawable/icon_transparent_zk" 
    android:label="***" > 
<activity 
     android:name="com.google.ads.AdActivity" 
     android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize" /> 

这里是为Facebook请求(我需要它获得用户ID):

String result_me = mFacebook.request("me"); 

现在的形象,我可以向你保证,该网址包含编辑在JSON是正确的:

URL img_value = new URL(json.getString("pic")); 
Bitmap icon = BitmapFactory.decodeStream(img_value.openConnection().getInputStream()); 

如果任何人都可以帮助我我真的很感激它!谢谢

+0

不知道为什么我之前没尝试,但我得到同样的错误,而AdMob和刚刚编译为API 15,所以,我认为AdMob没有失败 – user1345108

+0

后logcat的和Facebook的要求给予回复:android.os.NetworkOnMainThreadException 我也注意到,当我打开应用程序它给这个错误: 无法打开堆栈跟踪文件“/dat/anr/traces.txt”:是一个目录 在工作的应用程序中,我没有得到任何错误.. –

+0

两个图像下载的问题 – user1345108

回答

1

冰淇淋三明治(如果我正确记得,甚至蜂窝)不允许你在主线程上执行网络操作。

Thread对象中执行您的admob请求。

(new Thread() { 
    public void run() { 
     //Admob stuff 
    } 
}).start(); 

这是为了确保您在长时间的网络操作中不需要ANR您的应用程序。