• After 15+ years, we've made a big change: Android Forums is now Early Bird Club. Learn more here.

How do I find if I have background location services? I only use ACCESS_FINE_LOCATION foreground

I'm currently struggling with being compliant with new google play policies regarding localization permission.

I developed an app to call emergency numbers from (almost) any country in the world and I have a feature that allows the user to click on a button to locate himself and display the corresponding emergency numbers of the country he is in.

My issue is that Google sent me an email to reject my app because I quote : "Feature does not meet requirements for background location access".
The thing is : I do not ask for background location access, so I do not know what to do... I ask for "ACCESS_FINE_LOCATION" and I start a service declared as foreground.

Here is my manifest :

Code:
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.CALL_PHONE" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/er"
        android:label="@string/app_name"
        android:roundIcon="@drawable/er"
        android:supportsRtl="true"
        android:theme="@style/AppTheme"
        android:windowSoftInputMode="adjustPan"
        android:screenOrientation="portrait">

        <service
            android:name=".LocationService"
            android:enabled="true"
            android:description="@string/emergency_localization"
            android:foregroundServiceType="location"
            android:icon="@drawable/er"
            android:label="@string/emergency_localization_label"
            android:permission="android.permission.FOREGROUND_SERVICE"/>

        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

    <uses-feature
        android:name="android.location.Geocoder"
        android:required="false" />

And the code plugged to the localization button :

Code:
            findMeBtn.setOnClickListener(v -> {
            if (!PermissionNeeded()) {
                DisplayIcon(true);
                locationIntent = new Intent(getApplicationContext(), LocationService.class);
                startService((locationIntent));
            }
        });

I asked for more information to Google, and the only answer was :

"We have re-reviewed your app, but your declared feature still does not meet the requirements to access location in the background because of the following reason(s):

Users may not expect the app to access their location in the background
It is possible to deliver a similar experience without access to location in the background"

Thank you very much Google for being more explicit...

I saw afterwards that I was not stoping the service in the onPause method in the main activity, so I added this and tried to publish it again, but same error, apparently I am still asking a background service permission, without currently asking it ...

Code:
@Override
public void onPause() {
    super.onPause();
    if (locationIntent != null) stopService(locationIntent);
}

@Override
public void onDestroy() {
    super.onDestroy();
    unregisterReceiver(broadcastReceiver);
    if (locationIntent != null) stopService(locationIntent);
}

So I'm pretty sure I'm missing something obvious somewhere, but since I have no idea where to look at, I really need a new pair of eyes on it... I am now losing faith on this app's future...

Thanks a lot by advance !

Help Navigation Gestures Interfere with Keyboard

I'm guessing it's insufficient space between the spacebar and the navigation element and you are pressing in slightly too low and it is being misinterpreted (only a guess as I don't know which version of navigation you are using on the S20, there have been 3 in recent years!). If your keyboard allows you to resize or move it slightly that might help, once you have got used to the shifted position.

I've not been impressed with Google's "gesture" navigation. The current version is basically a second-rate clone of the iOS navigation, right down to the visual style, plus a bolt-on for the system "back" gesture (which iOS lacks). It's less fluid than either the 2 or 3 button navigations which preceded it, due to the need to pause in order to distinguish "home" and "recent apps" gestures, with the extra possibility of confusion between those swipe-up gestures and the one to bring the app drawer. And the "swipe from the side" back gesture can of course conflict with other side-swipe gestures used for navigation in apps or the launcher, plus of course makes "swipe from the left for the hamburger menu" (Google's own interface, though I think they are now trying to phase it out) very difficult to use reliably even with the "sensitivity" adjustment they added. But I've enough experience with iOS navigation to see that whatever they claim about doing their own design they really have just tried to make it as iOS-like as they could, which is frankly very weak and added to my loss of respect for them (on iOS there are fewer conflicts as many of the conflicting elements don't exist, and while there is a lack of fluidity in the "recent apps" gesture, because it's the same "swipe and hold", the previous "double click a button" was never the most fluid thing so it's less of a loss ;)). Frankly I think that if they'd taken the "2 button" navigation of Android 9 and replaced the "back" button with a "swipe the pill to one side" (and let the user choose which side) gesture it would have worked far better than the current thing. But it wouldn't have looked like an iPhone...

Help Problem with the clock! / Time Keeps Changing Despite Settings

In mobile BAT500 is the capacitor which has charge to set time. If Capacitor fail then it change time.
You need to select Automatic time zone. This will keep time as per zone.
Android mobile has NITZ Network Identity and Time Zone. When you connect to network it set local time zone. There is Network Time Protocol for that.
In computer when you remove cmos battery time change to 1 June. You can use synchronize app for local time.

Open sesame

What do you mean "if you want to get away from Google" ? I keep getting a notice "cannot open this file type" after ive tried moving videos or pics to a memory card. Or when sent by email. Idk what does that have to do with google?


Depending upon the device, sometimes a restart is needed to read media after it has been moved to the SD card.
(The device I am using right now, for example.)

Also, you are limited to 20MB per e-mail, so if the media is larger than this it is possible that the file is not being sent at all or is incomplete.

Filter

Back
Top Bottom