App not compatible with tablet - google-play

I've build an Android app...for phones...but I wouldn't mind to broaden my audience and let Tablet owners download it as well....
To be honest. it doesn't look very neat on a tablet...but I don't really mind that. I'll at least give them the option.
unfortunately I cant find the app on the Google Play Store / Android Market with my tablet! when I launch the url directly in the browser, I am being redirected to the Play store, but it says "this app is not compatible with your device"
I didn't specify anything in my Manifest like "android:xlargeScreens" (the default should be true, right?
I also didn't specify any device restrictions in the Store Publish page
Unfortunately I only have one tablet to test it with...so I don't know if it's the tablets fault, my apps fault or the Play Store's fault....
I have an HP Touchpad (CM9)....it's rather experimental device - but other phone apps works without a problem on that device
while developing, I also used my tablet as a test device, and the app launched on it. so I don't really know why the Play Store is forbidding me to download the app....
are there any special requirement that my Manifest or my XML-layouts have to match, for the Play Store to open it for tablet users as well?

The tablet may not support some of the features that your app requires. You can make them "not required" for the app (that means that you should check if they are actually available before using them in the code).
It is done like that:
<!-- features -->
<uses-feature android:name="android.hardware.telephony" android:required="false" />
Other possible features are:
android.hardware.camera
android.hardware.camera.autofocus
android.hardware.location.gps
android.hardware.location
android.hardware.location.network
For full list of relations between features<->permissions, you can see:
http://developer.android.com/guide/topics/manifest/uses-feature-element.html
See "Feature reference"

write below code into your android manifest.xml file for make application tablet compatible.
<supports-screens
android:anyDensity="true"
android:largeScreens="true"
android:normalScreens="true"
android:smallScreens="true" />

I solved my own problem:
I did 2 things:
1 - I disabled 'touchscreen'
<uses-feature android:name="android.hardware.touchscreen" android:required="false" />
this disables ADVANCE touchscreen controls (like flicking etc.)
but I think the thing that did it was the following:
2 - I disabled the Copy Protection in the Play Store Publish page
a few hours later I could find my app on my tablet and install it!

Android documentation clearly mentioned that if your app supporting v3.1+ then you should have tag in AndroidManifest.xml
http://developer.android.com/guide/practices/screen-compat-mode.html

Related

Android Auto media app issue with duplicate apps

We developed a Mobile app with Xamarin forms. Now we want to give support for Android-Auto (Cars).
Made all the necessary configurations to make it work for our media player-related app on Android Auto.But I am able to see the 2 apps on the Android auto console (DHU). From one of the app, we are able to see all the content whatever we are expecting. Due to this duplicate/ multiple apps issue. I am unable to see the media content playing when we play the audio from Mobile. I have added all the necessary changes in manifest file related to MediaBrowser service and intent filter. But still facing the above mentioned issues.
Am I missing something here? How to get it to work as expected?
I added in the manifest file about support for Android-auto.
<meta-data android:name="com.google.android.gms.car.application"
android:resource="#xml/automotive_app_desc"/>
...

How to add Google Play store on a custom device of AVD?

I'm trying to have a particular install of Android to test one of my clients claim (she has a bug with Chrome on her phone, that I can't myself replicate)
So I want to create a device that is the same as her phone model, a Samsung Galaxy S5. Thing is, AVD won't let me have the Google Play Store on a custom hardware created.
Is there a way to add the playstore to a device?
Its weird because the screenshot given is before even I select an Android Build, so what is preventing my hardware from being compatible with the playstore? Even cloning one that already exists with Play Store seemingly desactivates it.
Unfortunately you can't add google play to a custom device, instead you could just install devices that already have google play.

Is it possible to view output of visual studio cordova project as a web app in browser?

I am using Visual Studio 2015 tools for Apache Cordova for mobile application development on Windows 7.
To build and run my app, I have to choose one solution platform and one target.
Is there any way to view the output on my browser just like a web app with no emulator?
When I press f5, the result will open in a browser in an emulator mode which I choose as system platform and target device. But I want to run my app like a web application, when you right click on index.html and select view in browser.
I look for a project setting or a ‘system platform’ and ‘target device’ value that work like that.
PS:Selecting any windows solution platform and local machine target needs Windows 8 or higher and the build process is failed.
Thank you.
The solution I found for my problem:
I used the url of my output result with emulator: "http://localhost:4400/index.html?enableripple=cordova-3.0.0-NexusS"
and then removed the emulator settings in url: "http://localhost:4400/index.html".
Using this url will cause some popups asking some things. These are for 'cordova.js' script which is referenced in index.html file of cordova project. As we do not need this in browser, commenting the line <script src="cordova.js"></script> from index.html, no dialog will open any more and the project will compile so faster for initial design that do not need cordova.
Now I will use chrome mobile mode (f12-> phone icon) to see mobile view of my app.
#A.M.
The answer depend on your expectations.
If you just want to view the page layout and test some of the associated Javascript, the answer is YES.
If you want to test the plugin libraries and associated JS, the answers is NO.
However, here are some items to be cautious with - either way.
When running your code on a device, you MUST wait for the
'deviceready'. There are not ifs, ands, ors, or buts on this - you
must wait.
You can emulate some of the plugins. This Summer some of HTML5 APIs have become available. If you want to write a shim, you can emulate some plugins with the HTML5 APIs, and use the Phonegap plugins on the mobile device. NOTE: some emulators now support HTML5 APIs.
Not all browsers are equal and not all webview libraries are equal. Cordova and Phonegap both use a webview library with their respective platforms. On Android, it is called Webview. On iOS, it is WKWebview. These libraries are finally starting to get some attention. So Google, Apple, Intel and others are all making competing libraries. *better for us* ;) One new library for Android is called crosswalk. Many developers like it, but it is bloated.
Best of Luck

Google Play: Declaring an App is Only for TVs

I'm trying to publish an Android TV app, but the developer console is saying:
"You need to add at least 2 non-Android TV screenshots."
But this apk is only for Android TV, since there's another apk specific for tablets and phones. How can I target only Android TV?
Also, I would like to submit this particular APK only for NexusPlayer, and then add other Android TVs as the app is tested on them and the compatibility confirmed. The problem is that the developer console starts with almos 3000 devices (including tablets and phones) set as compatible by default, and I can only see a manual disable function.
EDIT
A temporary solution was to target only large and xlarge screens, reducing the number of auto-supported devices to 800. Still had to manually disable the unwanted ones, but with less overkill.
<supports-screens android:smallScreens="false"
android:normalScreens="false"
android:largeScreens="true"
android:xlargeScreens="true"
android:requiresSmallestWidthDp="720" />
Yes, you have to upload screenshots for Android TV and one other device, even if it's only for Android TV.
To limit device compatibility, make sure you have the following in your manifest:
<uses-feature android:name="android.software.leanback"
android:required="true" />
This will limit it to Android TV devices, and then you can manually limit from there as needed.
For the first part, it sounds like a limitation on the Play Console. Just upload two of the same TV screenshots that you already have uploaded and you're going to be just fine.
For the second part, I guess you need to need to go through all the 3000 devices manually. You could also restrict the range by specifying that your APK is x86-only.

Preventing devices without a GL extension from downloading app from Google Play

Is it possible to make an app unavailable for devices without a specific OpenGL ES extension on Google Play store?
Since <supports-gl-texture> takes the extension name, not the texture format, can it be exploited for generic GLES extensions?
Yes I believe there is, for example:
<uses-feature android:glEsVersion="0x00020000" android:required="true" />
This statement will prevent devices that do not support OpenGL es 2.0 from seeing your app in the playstore.
Try this:
String extensions = javax.microedition.khronos.opengles.GL10.glGetString(
GL10.GL_EXTENSIONS);
According to the docs, the extensions variable will contain a space-separated list of supported extensions to GL. So I think you can just use .contains("GL_OES_depth24"); or something. You're going to have to check some example content of whats returned to see how to check for it.
I don't know how to stop the app from coming up in google play store but you can just put this check at the beginning of your app that will tell users that you can't use this app or something.

Resources