So I been trying to get my first Wear Os watch face published But when I submit I keep it keeps getting rejected. I only lightly changed the Sample Android studio provides nothing much changed but the background and the way the hands move.
I keep getting this.
I really do not know why it keeps getting rejected. I make sure it works for both square and round wear OS.
I keep getting this message
Step 1: Fix the eligibility issue with your app
During review, we detected the following eligibility issue and were unable to accept your app for Wear OS:
The basic functionality of your app does not work as described in App Bundle
Wear OS functionality should work as expected or as described in the app's Google Play Store listing. Please make sure to test your app on a variety of Wear OS devices and configurations.
For example, Hours and Minutes hands are not placed in the center of the watch face on Square Device. as shown/described on the store listing.
I really don't know what to do because I have appealed twice. I asked is it because I am moving the arrows differently. I get the same generic response.
Thank you all for the questions and comments.
I did test the application on sq watches.
And same results I got.
Things started changing when I added a circle into the middle of the screen and that ended up being allowed as center. I have no idea why that would matter I knew it was already centered.
Thanks all.
Related
I have been running into a problem with my application, which I have no idea why. The following is:
the application is a large, commercial project, which makes several connections to the database, with a login system and everything else
I noticed that if I leave the app in the background for about 10 minutes, for example, it terminates my connection and restarts everything again, forcing me to log in again.
The only guarantee I can give is that they are not connection problems with my server, as in my tests it never failed.
Anyone who might have any idea why?
(I know that the explanation of the problem was a little vague, but the situation is very vague even for me)
How did I find my problem?
The user of my application was using a bluetooth barcode reader, which was programmed to automatically turn off after a period of inactivity. I noticed that whenever the bluetooth device turned off, my application would lose its previous state if it was in the background. Using the LogCat tool, I realized that my process was being killed by the system itself. The messages always looked like these:
W/ActivityManager: Force finishing activity
my.project/.view.activities.MyActivity
I/ActivityManager: Process my.project (pid 12984) has died
After much research, I found that the Android system interprets some external events as configuration changes, eg screen rotation change, Bluetooth device connection/disconnection, etc.
When such a change happens, Android, by default, kills your app's process and restarts it completely again, so that the app adapts to the new behavior. In my case, there was a NullPointerException in the code, which I hadn't handled correctly, so the application went back to the beginning, losing its state data.
However, in other application screens the mentioned Exception didn't occur (so it doesn't go back to login when starting), but even so I lost some screen data, like something that was typed in an EditText, for example.
How did I solve it?
On researching again, I found that you can let Android handle these configuration changes itself, telling it not to restart its process. To do this, just add in your Manifest, in the desired activity, the line:
android: configChanges = "keyboard | keyboardHidden | navigation"
As in my case the problem was with a bluetooth keyboard, I added these options keyboard | keyboardHidden; some keyboard models, for some reason, also change Android navigation, so I added navigation. After this change, done! No more problems!
P.S. 1: Unfortunately, not everything always works out. Adding android: configChanges won't work if your activity has fragments (I'm still trying to figure out how to solve this).
P.S. 2: This is not a good practice, I need to make that clear to you. For me, it's okay to do it this way, as my application responds well to changes. After all, my app is simple. Only use this feature that I explained if it is your last option or, if like me, your application is not so complex. Remember: this is not a magic solution to problems; in my specific case it worked fine, but for you, it might break your application.
P.S. 3: I recommend taking a look at https://developer.android.com/guide/topics/manifest/activity-element#config, in the android subtopic: configChanges. Listed are all the configuration changes a device can make.
I have published Alpha Testing Application APK build of Android Auto Support App.
but Google Play have rejected the app of following reason:
Full screen correct DHU model
Your app functions on head unit models which are not authorized to display the app. Make sure your app functions only on the head unit models relevant to your app.
I have tested app on DHU, its working fine and I have followed Android Auto Auto app quality
My question is, Which changes required in mine Auto app will be Android support for Android Auto?
Thanks in advance!!
The error message seems to tell you exactly what the problem is:
"Your app functions on head unit models which are not authorized to display the app". In other words, as well as working on DHU head units, your app works on other head units
"Make sure your app functions only on the head unit models relevant to your app."
In other words, it sounds like your app should check to see what head unit it is running on. If it is not the right one (DHU), it should refuse to run. It should probably also have some targeting in the manifest to make sure it only gets delivered to correct head units.
I'm not sure how the error message could be much clearer.
I am trying to develop an app which auto receive calls from particular numbers.
Like i can add the numbers that i want to auto receive. I did a lot of research and found similar questions but none of them worked. Some codes did work but only upto kitkat version and code did not work on versions above kitkat. I want the code that support all android versions. Its very important for me so please answer quickly. I really need your help.
I want the app to work in background so also please help me and write the code to implement this in a background service.
I was successful to run the app on versions upto kitkat but above kitkat the code does not work.
Android very specifically does NOT allow this, because doing so is an opening to a lot of telephone scams involving reversed charges. They've actually never allowed it, but people found hacks on old versions to get around that. Every time Google finds one of these, they shut it down in the next version. So there is no reliable way to do it, and if you find a way expect it to disappear shortly afterwards.
I'm doing a school project as a team, but none of us have never developed or even worn smartwatches.
We want to get the number of "tap" on a smartwatch's locked screen but we don't find out if that's possible.
Do you know a way to get the number of "tap" on a locked smartwatch screen?
If this is not possible, can we display a constant notification and retrieve the number of "tap" on this notification?
I'm using a Moto 360 with Android 6.0.1 and Android Wear 1.4.0.
Thank you in advance.
I would advise everyone on the team get a chance to the use watch just to understand the user experience. Watches are very battery limited devices and will always try to go into low power mode as often as possible.
Do you know a way to get the number of "tap" on a locked smartwatch screen?
Tapping normally wakes up watch, either from full screen off or lower power ambient mode. If you want to capture taps/button press you can create a watch app which when active will receive taps/button presses. I'm not quite sure if watch face can capture taps, and if it did it my guess would be after the watch face is fully on, but that would be another place to look.
If this is not possible, can we display a constant notification and retrieve the number of "tap" on this notification?
Custom watch face can allow display of custom content. Alternatively as a watch app you can show what you want.
Additional Comments
The Moto 360 came out in 2014 and was one of first Android Wear watches available. The latest code samples & codelabs from Google are for Wear OS 2.0. You can look back in the commit history for old versions of samples which may be more compatible with Android Wear 1.4
Also from this Android Wear Notice May 2015 always on apps became possible so that might work for your project/use case.
I'm looking to build a companion photo capture app for my photo capture website. I was planning to do this with phone gap.
Upon triggering the camera I want to grab a frame (a still, really) up to five times a second and send it to the server (barring any surprises, The sending part should already be dealt with in code I have). I suppose the realtime video from the camera itself should be displayed to the user as well, though I could just use the stop motion frames for that part.
Unfortunately, according to the phone gap docs, one can only launch the phone's cam app, manually take a picture, then return the user to the app.
I am looking into plugins, but I don't see any massive phonegap plugin repository out there, so I am not sure where to begin. I am just rambling now, so here is a list of bulleted questions:
Is there a plugin out there that does something like this already?
Is there a giant repository of phone gap plugins that I am too foolish to find?
If I try to roll my own java plugin (this is for an android app), what am I really getting myself into? Will I need to know enough to just make the damned thing native? I am pretty exclusively in the JS world at the moment, and am trying to get this out the door asap.
Am I missing something and there is a way to to this with vanilla phone gap?
Any other suggestions?
Thanks!
The phonegap plugins are here:
https://github.com/phonegap/phonegap-plugins