Why I getting “SMS and CALL_LOG permissions warnin

2019-02-15 17:10发布

问题:

I have so many permission in my app but I dont have any call_log permission but Im getting this warning from play console . Is this common warning or this permissions below have hidden call_log permission.

 <uses-permission android:name="android.permission.INTERNET" />
        <uses-permission android:name="android.permission.WAKE_LOCK" />
        <uses-permission android:name="android.permission.CALL_PHONE" />
        <uses-permission android:name="android.permission.READ_PHONE_STATE" />
        <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
        <uses-permission android:name="android.permission.READ_CONTACTS" />
        <uses-permission android:name="android.permission.WRITE_CONTACTS" />
        <uses-permission android:name="android.permission.BLUETOOTH" />
        <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
        <uses-permission android:name="android.permission.CAMERA" />
        <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
        <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
        <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
        <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
        <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
        <uses-permission android:name="android.permission.CHANGE_WIFI_MULTICAST_STATE" />
        <uses-permission android:name="android.permission.AUTHENTICATE_ACCOUNTS" />
        <uses-permission android:name="android.permission.GET_ACCOUNTS" />
        <uses-permission android:name="android.permission.MANAGE_ACCOUNTS" />
        <uses-permission android:name="android.permission.VIBRATE" />
        <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
        <uses-permission android:name="android.permission.RECORD_AUDIO" />

        <uses-permission android:name="android.permission.WRITE_SETTINGS"
            tools:ignore="ProtectedPermissions" />
        <uses-permission android:name="android.permission.READ_SYNC_STATS" />
        <uses-permission android:name="android.permission.READ_SYNC_SETTINGS" />
        <uses-permission android:name="android.permission.WRITE_SYNC_SETTINGS" />
        <uses-permission android:name="android.permission.BROADCAST_STICKY" />
        <uses-permission android:name="android.permission.READ_LOGS"
            tools:ignore="ProtectedPermissions" />
        <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
        <uses-permission android:name="android.permission.READ_PROFILE" />
        <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.SEND_SMS" />

回答1:

You have

uses-permission android:name="android.permission.SEND_SMS"

which comes under sms

Google Play may provide a temporary exception to apps that aren't Default SMS, Phone, or Assistant handlers when:

  1. Use of the permission provides core app functionality to users

  2. There is currently no alternative method to provide the core functionality

you must fill this form and google must approve it

you can find more info here



回答2:

If you believe your app meets the policy requirements for acceptable use or is eligible for an exception, submit a Permissions Declaration Form as soon as possible for Google Play to review. You will be notified if your request has been approved. You do not need to have implemented APK changes in order to submit the Declaration Form.

All Developers seeking to access the Call Log or SMS permissions must successfully complete the Permissions Declaration Form. By submitting this form, you verify that the app’s access to these permissions are only for the purposes described below and that you will submit an updated Form to seek additional approval prior to any revised / new scope for permission usage. You must fill out one Declaration Form for each app.

You should only access Call Log or SMS permissions when your app falls within permitted uses, and only to enable your app’s core functionality.

Read

  • Use of SMS or Call Log permission groups
  • Google Play Permissions Declaration Form


回答3:

you can remove permission of call and SMS permission (all SMS and call ) from your manifeast file, after then you have to fill Google Play Permissions Declaration Form before january 9, 2019 will have until March 9, 2019 to bring their app(s) into compliance.

If your app does not require access to Call Log or SMS permissions, you must remove these permissions from your app's manifest. Details on policy compliant alternative implementation are also detailed below.

For apps with Declaration Forms submissions received by Jan 9, 2019, Google Play, at its option, may grant extensions until March 9, 2019 for you to make changes to bring your app(s) into compliance with this Play policy. If you do not plan on using these permissions, but still require additional time to bring your app(s) into compliance, please complete the Declaration Form.

for more info please review on below link

https://support.google.com/googleplay/android-developer/answer/9047303 and find the deceleration form which you can find in the below link:

https://docs.google.com/forms/d/e/1FAIpQLSfCnRaa4b1VuHhE4gVekWJc_V0Zt4XiTlsKsTipTlPg5ECA7Q/viewform



回答4:

If SMS and call is not the core feature of your app then its best to remove and use alternatives, as its difficult to get exception from google, and your application will get rejected right away.

Below alternative you can consider to initiate phone call : Don't use CALL permission use dialer instead.

    val intent = Intent().apply {
    action = Intent.ACTION_DIAL
    data = Uri.parse("tel:0123456789")
}
startActivity(intent)

To send Text message:

val intent = Intent().apply {
    action = Intent.ACTION_SENDTO
    data = Uri.parse("smsto:0123456789")
    putExtra("sms_body", "text message")
}
if (intent.resolveActivity(packageManager) != null) {
    startActivity(intent)
}

Reference : https://proandroiddev.com/no-more-sms-call-log-permissions-now-what-9b8226de7827



回答5:

Please see the following instructions to submit the declaration form:

A1. Go to the Console > App release > Click ‘Create a release’ > Upload a new APK that you want to release A2. Retain the current version of APK A3. Click ‘Add from library’ > Upload all active APKs to cover all permissions across the tracks in your app

You can find active APK in Release management > Artifact library

A4. Fill out the Permissions Declaration Form for extension ‘Compliance status’ > check “No, this release does not meet the SMS and Call log” ‘Declarations’ > check all A5. Click "Save" at the bottom of the page

After that, please stay on the same page and follow the next steps:

B1. Deactivate and remove ONLY the old APKs which you do not want to release. B2. Click "Save" again then select "Review" B3. Then, you'll be able to release a new version of APK by clicking "Start Roll Out" button.

After finished all the steps, if your APK does NOT have sensitive or high-risk permissions anymore, please skip the steps below(C1~4) and no additional action is required. However, if you uploaded the new APK with sensitive or high-risk permissions, please note that your app will be removed after Mar 9, 2019.

If your new APK has sensitive or high-risk permissions & you want to utilize the permission after Mar 9, you need to finish the additional step to submit the declaration form to enable further review.

C1. After the new APK release(Step B1~3), please go to the Console > App release > Click ‘Create a release’

C2. Click ‘Add from library’ > Select the APK(which will be utilized after Mar.9) C3. Retain newly updated APK in step B3 C4. Fill out Permissions Declaration Form (not for extension),

‘Compliance status’ > check “Yes, this release meets the SMS and Call log”

Choose core functionalities as well

C5. Submit the form by Clicking “Save” at the bottom of the page

Also, to make sure your app be safe after Mar 9, please do not forget to update all the APKs(with sensitive or high-risk permission) in other track with the same steps.