0

我正在制作一个我希望在其中显示广告的 Android 应用程序,但是我无法让它正常工作。

当我尝试添加configChanges到 时AndroidManifest.xml,我收到以下错误,这可能是问题所在...

error: Error: String types not allowed (at 'configChanges' with value 'keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize').

这是我的 AndroidManifest.xml 文件...

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.mysoftwaremobileapps.ParachuteHunterLite"
android:versionCode="1"
android:versionName="1.0" >

<uses-sdk android:minSdkVersion="3" />
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>

<application
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name" >
    <activity
        android:label="@string/app_name"
        android:name=".ParachutehunterActivity" android:screenOrientation="portrait" android:configChanges="orientation">

        <intent-filter >
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity android:label="@string/app_name" android:name=".GameScreenActivity" android:screenOrientation="portrait" android:configChanges="orientation"></activity>
    <activity android:name=".playerLostMessageActivity" android:label="@string/app_name" android:screenOrientation="portrait" android:configChanges="orientation"></activity>
    <activity android:name="com.mysoftwaremobileapps.ParachuteHunterLite.SubmitScoreActivity" android:label="@string/app_name" android:screenOrientation="portrait" android:configChanges="orientation"></activity>
    <activity android:configChanges="keyboard|keyboardHidden|orientation" android:label="@string/app_name" android:name=".AdActivity" android:screenOrientation="portrait"></activity>
    <activity android:name="com.google.ads.AdActivity" android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"/>


</application>

</manifest>

这是我用来将广告添加到我的应用程序的活动...

package com.mysoftwaremobileapps.ParachuteHunterLite;

import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.LinearLayout;
import android.widget.LinearLayout.LayoutParams;

import com.google.ads.AdRequest;
import com.google.ads.AdSize;
import com.google.ads.AdView;

public class AdActivity extends Activity implements OnClickListener{
//Called when the activity is first created
Button AdsButton;
public String value;
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.adscreen);
    AdsButton = (Button)findViewById(R.id.AdsButton);
    AdsButton.setOnClickListener(this);
    AdView myAdView = new AdView(this, AdSize.BANNER, "Your Publish ID");

    //get layoutView
    LinearLayout rootView = (LinearLayout)this.findViewById(R.id.MainLayout3);
    LinearLayout.LayoutParams layoutParams = new LayoutParams(320, 50);
    rootView.addView(myAdView, 0, layoutParams);        

    AdRequest re = new AdRequest();
    re.setGender(AdRequest.Gender.UNKNOWN);
    //re.setTestDevices(testDevices);
    //re.setTesting(testing)
    myAdView.loadAd(re);
}
public void onClick(View src) {
    switch(src.getId()) {
    case R.id.AdsButton:
        Uri ParachuteHunterPurchaseSite = Uri.parse("https://play.google.com/store/apps/details?id=com.mysoftwaremobileapps.ParachuteHunter&feature=search_result#?t=W251bGwsMSwyLDEsImNvbS5teXNvZnR3YXJlbW9iaWxlYXBwcy5QYXJhY2h1dGVIdW50ZXIiXQ..");
        Intent launchParachuteHunterPurchaseSite = new Intent(Intent.ACTION_VIEW, ParachuteHunterPurchaseSite);
        startActivity(launchParachuteHunterPurchaseSite);
        break; 
    }
}
}

请注意,中的onClick(AdsButton)方法与谷歌提供的方法Activity无关AdView

4

1 回答 1

0

对于该android:configChanges错误,是否因为您的应用程序具有minSdkVerion="3"但您的行中的某些值在configChangesSDK 13 之前不存在而抱怨,例如screenSize|smallestScreenSize.

请参阅http://developer.android.com/reference/android/R.attr.html#configChanges,其中说这些值必须与 ActivityInfo 和 include/utils/ResourceTypes.h 中的值保持同步

如果这不能解决问题,请告诉我们究竟是什么不工作。例如,您是否收到任何异常或错误?

于 2012-04-10T14:19:29.170 回答