I have an app that is compatible with my android phone (v 2.2.3) but not with my android tablet (v 4.0+). What can I do to make this app usable on my tablet? The app works on virtual device with settings similar to the real device. This app was created by someone else and he made it available for others to modify. The following is the manifest file...one of them.
<?xml version="1.0" encoding="utf-8"?>
<application android:icon="#drawable/icon" android:label="#string/app_name">
<activity android:name="TaxiDriverMainActivity"
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="EditOrderActivity"></activity>
<activity android:name="ShiftHistoryActivity"></activity>
<activity android:name="TipHistoryActivity"></activity>
<activity android:name="NewOrderActivity"></activity>
<activity android:name="TaxiSettingsActivity"></activity>
<activity android:name="DroppingOffActivity"></activity>
<activity android:name="AddExpenseActivity"></activity>
<activity android:name="ImmediatePickupAcitivty"></activity>
<activity android:name="ShiftStartEndActivity"></activity>
<activity android:name="TaxiDriverMapActivity"></activity>
<activity android:name="OdometerEntryActivity"></activity>
<uses-library android:name="com.google.android.maps" android:required="true"></uses-library>
</application>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"></uses-permission>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
Related
I created a custom launcher and set it to default launcher for my tablet. but when I open an application and then press Back button I will go to the last launcher(Default launcher of Samsung) although I setup my launcher as default before!
This is my launcher manifest:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="launcher.base.app.ehsan.com.minelauncher">
<!-- To access internet -->
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<!-- To auto-complete the email text field in the login form with the JSON's emails -->
<uses-permission android:name="android.permission.GET_ACCOUNTS"/>
<uses-permission android:name="android.permission.READ_PROFILE"/>
<uses-permission android:name="android.permission.READ_CONTACTS"/>
<application
android:name=".tools.G"
android:allowBackup="true"
android:icon="#mipmap/logo"
android:label="#string/app_name"
android:supportsRtl="false"
android:theme="#style/AppTheme">
<activity android:name=".activity.MainActivity">
</activity>
<activity
android:name=".activity.LoginActivity"
android:label="#string/title_activity_login"
android:theme="#android:style/Theme.Wallpaper.NoTitleBar.Fullscreen"
android:launchMode="singleTask"
android:stateNotNeeded="true"
>
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
<category android:name="android.intent.category.HOME" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity
android:name=".activity.ForgetActivity"
android:screenOrientation="sensorLandscape"
>
</activity>
<activity
android:name=".activity.RecoveryActivity"
android:screenOrientation="sensorLandscape"
>
</activity>
<service
android:name=".APIService.InternetService"
android:enabled="true"
android:exported="true"/>
</application>
</manifest>
Thank you for Your answers.
We published the app to Google PlayStore, but it does not seem to show on the PlayStore in latest available version of android (Kit Kat versions 4.4.2-4.4.3 ) on Samsung Galaxy4, HTC One (Model M7 2013) and Google Nexus tablet. However the app is visible on Android phones running Jelly Bean (android version 4.3.1). Here is the entire manifest file.
----------
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.xxx.yyyy"
android:versionCode="10" android:versionName="2.0">
<uses-sdk android:minSdkVersion="10"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.CALL_PHONE" />
<uses-permission android:name="android.permission.SEND_SMS" />
<application
android:icon="#drawable/ic_launcher"
android:debuggable="false"
android:label="#string/app_name" android:name="xxxApp">
<activity
android:label="xxxx"
android:theme="#android:style/Theme.Light"
android:name=".xxxActivity" >
<intent-filter >
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".favorites"
android:label="Favorites">
</activity>
<activity android:name=".pin"
android:label="Pin">
</activity>
<activity android:name=".registration"
android:label="Registration Form">
</activity>
<activity android:name=".divisions"
android:label="Promotions">
</activity>
<activity android:name=".config"
android:label="Settings">
</activity>
<activity android:name=".resultsearch"
android:label="Result">
</activity>
<activity android:name=".detailstore"
android:label="Info">
</activity>
</application>
</manifest>
I want to publish my new app in Play Store but see this message in app panel:
This application is only available to devices with these features,
as defined in your application manifest.
Screen layouts: SMALL NORMAL LARGE XLARGE
Required device features
android.hardware.location
android.hardware.location.gps
android.hardware.location.network
android.hardware.screen.portrait
android.hardware.sensor.accelerometer
android.hardware.touchscreen
This application is available to over 0 devices.
Why it said that my app available to over 0 devices? I have tested on my phone and it works. At least one device :)
My Manifest.xml:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="..."
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="7"
android:targetSdkVersion="15" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-feature android:name="android.hardware.sensor.accelerometer" />
<application
android:icon="#drawable/ic_launcher"
android:label="#string/app_name"
android:theme="#android:style/Theme.Black.NoTitleBar" >
<activity
android:name="MainActivity"
android:configChanges="orientation"
android:label="#string/app_name"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name="ListActivity"
android:screenOrientation="portrait">
</activity>
<activity
android:name="SettingsActivity"
android:screenOrientation="portrait">
</activity>
<activity
android:name="HelpActivity"
android:screenOrientation="portrait">
</activity>
<activity
android:name="AboutActivity"
android:screenOrientation="portrait">
</activity>
</application>
</manifest>
This shows up using IE. Go and look in Firefox, and you will have a large # of devices.
I have developed an application which uses following permissions.
CALL_PHONE
INTERNET
ACCESS_NETWORK_STATE
I have not accessed external storage in the entire app, but it is still asking for storage permissions when installing on device. Is the issue with code or device or Android?
Manifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.nirajburde.free"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk android:minSdkVersion="3" />
<uses-permission android:name="android.permission.CALL_PHONE"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<application
android:icon="#drawable/ic_logo"
android:label="#string/app_name"
android:theme="#style/My_Theme" >
<activity
android:name=".MainActivity"
android:label=""
android:screenOrientation="portrait" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity
android:name=".SplashScreen"
android:theme="#style/Theme.Transparent"
android:screenOrientation="portrait" >
<intent-filter>
<action android:name="android.intent.action.MAIN"></action>
<category android:name="android.intent.category.LAUNCHER"></category>
</intent-filter>
</activity>
<activity
android:name=".NumberList"
android:label=""
android:screenOrientation="portrait" >
</activity>
<activity
android:name=".About"
android:label=""
android:screenOrientation="portrait" >
</activity>
<activity android:name="com.google.ads.AdActivity"
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize">
</activity>
</application>
</manifest>
Before Android DONUT, the SDK automatically adds WRITE_EXTERNAL_STORAGE and READ_PHONE_STATE to your app's permissions, hence you can target your app to SDK 1.6 or newer ones to avoid that.
I have an app on Android Market that should run on everything >= Android 1.5. When testing this indeed seems to work, but I get reports from frustrated would be users that they are not allowed to install it due to compatibility issues. Two such are HTC Hero running Android 2.1 and HTC Wildfire (version unknown).
My entire manifest is below (As I don't know what's wrong, I might remove something important) - as I see it, this is the only thing Android Market looks to for compatibility information. Am I somehow excluding certain devices?
<application android:icon="#drawable/icon" android:label="#string/app_name" android:theme="#android:style/Theme.NoTitleBar" android:debuggable="true">
<activity android:name=".ShowStreams" android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.MAIN"></action>
<category android:name="android.intent.category.LAUNCHER"></category>
</intent-filter>
</activity>
<activity android:name=".menu.Settings" />
<activity android:name=".ClearCache"></activity>
<activity android:name=".settings.ManageFeeds"></activity>
<activity android:name=".settings.DirectoryBrowser"></activity>
<activity android:name=".settings.SourceSelector"></activity>
<activity android:name=".settings.FlickrBrowser"></activity>
<activity android:name=".settings.PicasaBrowser"></activity>
<activity android:name=".parser.facebook.FacebookAuth">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="floatingimage"/>
</intent-filter>
</activity>
<activity android:name=".settings.FacebookBrowser">
</activity>
<activity android:name=".parser.facebook.WebAuth"></activity>
<activity android:name=".parser.facebook.FacebookAlbumBrowser"></activity>
<activity android:name=".parser.facebook.FacebookFriendsBrowser"></activity>
<activity android:name=".parser.facebook.FacebookFriendView"></activity>
<activity android:name=".flickr.WebAuth"></activity>
<activity android:name=".parser.flickr.FlickrAlbumBrowser"></activity>
<activity android:name=".parser.picasa.PicasaWebAuth"></activity>
<activity android:name=".parser.picasa.PicasaAlbumBrowser"></activity>
<activity android:name=".parser.picasa.PicasaUserView"></activity>
<activity android:name=".settings.About" android:theme="#android:style/Theme.Dialog"></activity>
<activity android:name=".menu.WallpaperSettings" android:exported="true" />
<activity android:name=".menu.ApplicationFeedManagerLauncher"></activity>
<activity android:name=".menu.WallpaperFeedManagerLauncher"></activity>
<service android:name="Wallpaper"
android:label="Floating Image"
android:permission="android.permission.BIND_WALLPAPER">
<intent-filter>
<action android:name="android.service.wallpaper.WallpaperService" />
</intent-filter>
<meta-data android:name="android.service.wallpaper" android:resource="#xml/wallpaper" />
</service>
</application>
<uses-sdk android:minSdkVersion="3" android:targetSdkVersion="4" />
<uses-permission android:name="android.permission.VIBRATE"></uses-permission>
<uses-permission android:name="android.permission.WAKE_LOCK"></uses-permission>
<uses-permission android:name="android.permission.SET_WALLPAPER"></uses-permission>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
<uses-permission android:name="android.permission.WRITE_SETTINGS"></uses-permission>
<uses-permission android:name="android.permission.BIND_WALLPAPER"></uses-permission>
<uses-permission android:name="android.permission.INTERNET" />
<uses-feature android:name="android.software.live_wallpaper" />
<supports-screens
android:largeScreens="true"
android:anyDensity="true"
android:normalScreens="true"
android:smallScreens="true"
android:xlargeScreens="true"
android:resizeable="true" />
</manifest>
After some research, and also asking at #android-dev I found that the problem was with the line:
<uses-feature android:name="android.software.live_wallpaper" />
This is apparently a hard requirement for the app, and not necessary for live wallpaper functionality.
I believe the limiting factor might be the following permission:
<uses-permission android:name="android.permission.BIND_WALLPAPER"></uses-permission>
According to the following page in the android docs, this was introduced in api level 8. Is it possible that the unsupported permission is being filtered out for devices running sdk at api level 7?
http://developer.android.com/reference/android/Manifest.permission.html#BIND_WALLPAPER