0

I am making an Android app within which I wish to display ads, however I can't get it to work correctly.

When I try to add the configChanges to the AndroidManifest.xml, I get the following error, which is likely to be the problem...

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

This is my AndroidManifest.xml file...

<?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>

And this is my Activity that i'm using to add the ads to my app...

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; 
    }
}
}

Please note that the onClick(AdsButton) method in the Activity is not related to the AdView provided by Google.

wattostudios
  • 8,666
  • 13
  • 43
  • 57
user1183066
  • 115
  • 2
  • 6
  • 20
  • See for the answer http://stackoverflow.com/questions/7902121/admob-cant-display-ads-because-of-configchanges – Tomik Apr 10 '12 at 14:24

1 Answers1

0

For the android:configChanges error, is it complaining because your application has a minSdkVerion="3" but some of the values in your configChanges line do not exist until SDK 13, such as screenSize|smallestScreenSize.

Refer to http://developer.android.com/reference/android/R.attr.html#configChanges which says that These values must be kept in sync with those in ActivityInfo and include/utils/ResourceTypes.h

If this doesn't solve the problem, could you please tell us what exactly isn't working. For example, are you getting any Exceptions or errors?

wattostudios
  • 8,666
  • 13
  • 43
  • 57
  • The problem is not minSdkVersion (it have to be at least level 3) but the build target (needs compilation against at least Android 3.2). – Tomik Apr 10 '12 at 14:29
  • Thanks for that, this seems more logical, I hadn't picked up on it because it wasn't specified in the AndroidManifest.xml supplied in the question :-) – wattostudios Apr 10 '12 at 14:36
  • Thanks so much! No more errors, but no ads show up? I have runned to app on my phone 3 times wand waited 3 minutes each time. Is it just that it ain't any ads availible for the moment/situation or am i doing something wrong? I have not added my publisher id yet. – user1183066 Apr 10 '12 at 18:51
  • I have added my publisher id now. Testing it now – user1183066 Apr 10 '12 at 19:08