2012-07-15 44 views
2

写这个问题我已经检查,如堆栈溢出的各种问题之前:Android的AdMob广告必须AdActivity声明

我已经检查拼写和它似乎是正确的。

我也检查了targetSdkVersion大于Sdk13。矿设置得

android:targetSdkVersion="15" /> 

我检查这个问题,但我不知道这是否是问题。

我也咨询了这个特定的URL


package com.example.advert; 

import android.os.Bundle; 
import android.app.Activity; 
import android.view.Menu; 
import android.view.MenuItem; 
import android.widget.LinearLayout; 
import android.support.v4.app.NavUtils; 
import com.google.ads.*; 
public class MainActivity extends Activity { 
    private AdView adView; 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 



String MY_AD_UNIT_ID = "a15000820551daa"; 

// Create the adView 
    adView = new AdView(this, AdSize.BANNER, MY_AD_UNIT_ID); 

    // Lookup your LinearLayout assuming it’s been given 
    // the attribute android:id="@+id/mainLayout" 
    LinearLayout layout = (LinearLayout)findViewById(R.id.mainLayout); 

    // Add the adView to it 
    layout.addView(adView); 

    // Initiate a generic request to load it with an ad 
    adView.loadAd(new AdRequest()); 





} 

@Override 
public void onDestroy() { 
    if (adView != null) { 
    adView.destroy(); 
    } 
    super.onDestroy(); 
} 




} 

的AndroidManifest.xml

<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.example.advert" 
    android:versionCode="1" 
    android:versionName="1.0" > 

    <uses-sdk 
     android:minSdkVersion="10" 
     android:targetSdkVersion="15" /> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> 
    <uses-permission android:name="android.permission.INTERNET"/> 
    <application 
     android:icon="@drawable/ic_launcher" 
     android:label="@string/app_name" 
     android:theme="@style/AppTheme" > 
     <activity 
      android:name=".MainActivity" 
      android:label="@string/title_activity_main" > 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
     <activity 
     android:name="com.google.ads.AdActivity" 

     ></activity> 
    </application> 

</manifest> 

返回的错误消息是一个黑盒,其中该加载应。和红色书写它说你必须有AdActivity在AndroidManifest.xml宣布与configChanges

回答

3

予固定的问题是其中 机器人:configChanges = “键盘| keyboardHidden |取向|屏幕布置| uiMode |屏幕尺寸| smallestScreenSize”/>被放置。

<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.example.admob" 
    android:versionCode="1" 
    android:versionName="1.0" > 

    <uses-sdk 
     android:minSdkVersion="10" 
     android:targetSdkVersion="15" /> 

    <application 
     android:icon="@drawable/ic_launcher" 
     android:label="@string/app_name" 
     android:theme="@style/AppTheme" > 
     <activity 
      android:name=".MainActivity" 
      android:label="@string/title_activity_main" > 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
     <activity android:name="com.google.ads.AdActivity" android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize" /> 
    </application> 
<uses-permission android:name="android.permission.INTERNET" /> 
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
</manifest> 
6

你丢失的Android:configChanges属性在AdActivity,像这样:

<activity android:name="com.google.ads.AdActivity" 
      android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"/> 

而且你的项目需要引用的Android SDK 2.2(API 8)以后。

+0

我尝试添加你所提到的这条线,但它说,不允许在configchanges – alex 2012-07-15 18:45:19

+0

字符串错误,我试过广告暴徒4.04的早期版本,但没有解决问题。 – alex 2012-07-15 20:17:12

+0

你的问题到底是什么?应用程序崩溃了?没有来自admob的广告? – azgolfer 2012-07-15 21:01:03