I discovered that setting certain options such as the hardware camera autofocus feature to optional increased the compatibility matrix by more than 400 devices but the Alcatel and the LG were both still excluded, even though I have solid proof that the game runs on these devices like a charm.
To set the autofocus feature I used:
<uses-feature android:name="android.hardware.camera.autofocus" android:required="false" />
Finally I have added optional feature requests for network location and wifi to increase compatibility to just over 2000 devices but still not my two test phones!!
<uses-feature android:name="android.hardware.location.network" android:required="false" />
<uses-feature android:name="android.hardware.wifi" android:required="false" />
This story is obviously set to run and run.
LATE BREAKING NEWS:
Phew, fixed it.. here is my working app manifest for simple Augmented Reality systems:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:installLocation="auto" package="my.domain.mygame" android:versionCode="10" android:versionName="1.02">
<uses-sdk android:minSdkVersion="2" android:targetSdkVersion="14" android:required="false" />
<application android:label="mygame" android:icon="@drawable/icon" android:name="mono.android.app.Application">
<activity android:name="com.google.ads.AdActivity" android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize" />
<activity android:name="com.revmob.ads.fullscreen.FullscreenActivity" android:configChanges="keyboardHidden|orientation" />
<activity android:alwaysRetainTaskState="true" android:configChanges="keyboard|keyboardHidden|orientation" android:icon="@drawable/icon" android:label="mygame" android:launchMode="singleInstance" android:theme="@style/Theme.Splash" android:name="mygame.MyGameActivity" />
<activity android:label="@string/instructions" android:name="mygame.instructions" />
<activity android:alwaysRetainTaskState="true" android:configChanges="keyboard|keyboardHidden|orientation" android:icon="@drawable/icon" android:label="mygame" android:launchMode="singleInstance" android:theme="@style/Theme.Splash" android:name="mygame.MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<provider android:name="mono.MonoRuntimeProvider" android:exported="false" android:initOrder="2147483647" android:authorities="my.domain.mygame.mono.MonoRuntimeProvider.__mono_init__" />
</application>
<supports-screens android:resizeable="true" android:smallScreens="true" android:normalScreens="true" android:largeScreens="true" android:xlargeScreens="true" android:anyDensity="true" android:largestWidthLimitDp="4096" />
<uses-feature android:name="android.hardware.camera.autofocus" android:required="false" />
<uses-feature android:name="android.hardware.location.network" android:required="false" />
<uses-feature android:name="android.hardware.wifi" android:required="false" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
</manifest>
LATE BREAKING NEWS:
Phew, fixed it.. here is my working app manifest for simple Augmented Reality systems:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:installLocation="auto" package="my.domain.mygame" android:versionCode="10" android:versionName="1.02">
<uses-sdk android:minSdkVersion="2" android:targetSdkVersion="14" android:required="false" />
<application android:label="mygame" android:icon="@drawable/icon" android:name="mono.android.app.Application">
<activity android:name="com.google.ads.AdActivity" android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize" />
<activity android:name="com.revmob.ads.fullscreen.FullscreenActivity" android:configChanges="keyboardHidden|orientation" />
<activity android:alwaysRetainTaskState="true" android:configChanges="keyboard|keyboardHidden|orientation" android:icon="@drawable/icon" android:label="mygame" android:launchMode="singleInstance" android:theme="@style/Theme.Splash" android:name="mygame.MyGameActivity" />
<activity android:label="@string/instructions" android:name="mygame.instructions" />
<activity android:alwaysRetainTaskState="true" android:configChanges="keyboard|keyboardHidden|orientation" android:icon="@drawable/icon" android:label="mygame" android:launchMode="singleInstance" android:theme="@style/Theme.Splash" android:name="mygame.MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<provider android:name="mono.MonoRuntimeProvider" android:exported="false" android:initOrder="2147483647" android:authorities="my.domain.mygame.mono.MonoRuntimeProvider.__mono_init__" />
</application>
<supports-screens android:resizeable="true" android:smallScreens="true" android:normalScreens="true" android:largeScreens="true" android:xlargeScreens="true" android:anyDensity="true" android:largestWidthLimitDp="4096" />
<uses-feature android:name="android.hardware.camera.autofocus" android:required="false" />
<uses-feature android:name="android.hardware.location.network" android:required="false" />
<uses-feature android:name="android.hardware.wifi" android:required="false" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
</manifest>
No comments:
Post a Comment