2012-06-14 30 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您的應用程序。