我想在我的Android应用程序中显示AdMob的广告.我在文档中做了所有必要的事情.但我无法运行我的应用程序,因为我的AndroidManifest.xml上有一行错误:
<activity android:name="com.google.ads.AdActivity"
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"/>
Run Code Online (Sandbox Code Playgroud)
错误是:
error: Error: String types not allowed (at 'configChanges' with value 'keyboard|keyboardHidden|orientation|
screenLayout|uiMode|screenSize|smallestScreenSize').
Run Code Online (Sandbox Code Playgroud)
但是,如果我删除了某个值,我的应用程序正在运行,而不是广告,而是我的文本:"您必须在AndroidManifest.xml中使用configChanges声明AdActivity."
我不知道如何解决这个问题.
我正在使用android SDK 2.1和最后一个google adMob SDK 4.3.1
谢谢
我正试图第一次整合admob.我跟着文档的规则在这里,我已经看到一些 相关的 页面,但我仍然似乎是做错了什么.
我正在使用GoogleAdMobAdsSdk-6.1.0.jar,以及android sdk版本13(Android 3.2).
我从各种来源中找到了我需要的几件东西.
<uses-sdk
android:minSdkVersion="7"
android:targetSdkVersion="13" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<activity android:name="com.google.ads.AdActivity"
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScre??enSize" />
Run Code Online (Sandbox Code Playgroud)
在我的AndroidManifest.xml中.
包括我
target=android-13
Run Code Online (Sandbox Code Playgroud)
在我的project.properties中.
以上配置无法编译.我在eclipse中遇到错误(版本:4.2.0),说明如下:
error: Error: String types not allowed (at 'configChanges' with value 'keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScre??enSize'
Run Code Online (Sandbox Code Playgroud)
如果我把它改成旧式
android:configChanges="keyboard|keyboardHidden|orientation"
Run Code Online (Sandbox Code Playgroud)
该项目编译得很好,但是当我进入我的活动时,我遇到以下问题:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@color/Aqua"
android:orientation="vertical" >
<LinearLayout
android:id="@+id/adLayout"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
</LinearLayout>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
我的活动中的代码如下所示:
public class TutorialActivity extends Activity {
private static final String PUBLISHER_ID = "blah"; //omitted
private AdView adView;
@Override …Run Code Online (Sandbox Code Playgroud) 我查看了类似的问题,并提出了所有建议,我仍在手机上收到此消息:"您必须在AndroidManifest.xml中使用configChanges声明AdActivity".
这是我在清单中的内容:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="..." android:versionCode="1" android:versionName="1.0">
<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="17"/>
<application android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:allowBackup="true">
<activity android:name="..." android:label="@string/app_name">
<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"/>
<service android:enabled="true" android:name="..." />
</application>
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
</manifest>
Run Code Online (Sandbox Code Playgroud)
还有什么我应该做的吗?请注意:我已经查看了其他类似问题,但没有一个答案可以解决我的问题.谢谢您的帮助.