• 15

A PHP Error was encountered

Severity: Notice

Message: Undefined index: userid

Filename: views/question.php

Line Number: 191


File: /home/prodcxja/public_html/questions/application/views/question.php
Line: 191
Function: _error_handler

File: /home/prodcxja/public_html/questions/application/controllers/Questions.php
Line: 433
Function: view

File: /home/prodcxja/public_html/questions/index.php
Line: 315
Function: require_once

name Punditsdkoslkdosdkoskdo

Call Feature rejected by Play Console with new policy

My app is already live at Google Play titled "Maheikol". But in past day it was rejected due violating policy.

I had a feature in my app as a support, where user can call, sms and email to us. Due to new Policy my app has been rejected for call and sms feature.

In Manifest i Used

    <!-- phone call permissions-->

    <uses-permission android:name="android.permission.CALL_PHONE"/>
    <uses-permission android:name="android.permission.READ_PHONE_STATE"/>
    <uses-permission android:name="android.permission.READ_CALL_LOG"/>

And in AppUtils.java

public static void makePhoneCall(Activity activity, String phoneNumber) {
        if (phoneNumber != null) {
            Intent callIntent = new Intent(Intent.ACTION_CALL);
            callIntent.setData(Uri.parse("tel:" + phoneNumber));
            if (PermissionUtils.isPermissionGranted(activity, PermissionUtils.CALL_PERMISSIONS, PermissionUtils.REQUEST_CALL)) {

public static void sendSMS(Activity activity, String phoneNumber, String text) {
        if (phoneNumber != null) {
            Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("sms:" + phoneNumber));
            intent.putExtra("sms_body", text);
            try {
            } catch (Exception e) {

If you really wants to use these types of permission with valid use. You have to provide privacy policy in app and play console.

Have you read this docs :

Google Play restricts the use of high risk or sensitive permissions, including the SMS or Call Log permission groups.

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.

If you believe your app meets the policy requirements for acceptable use or is eligible for an exception, you should declare any Call Log or SMS permissions directly through the Play Console.

For apps with Declaration Forms previously submitted, Google Play, at its discretion, may grant extensions until March 9, 2019 for you to bring your app(s) into compliance with this Play policy. You may also request an extension for March 9, 2019 directly through the Play Console by releasing a new version of your APK with a higher version code if you do not plan on using these permissions, but still require additional time to bring your app(s) into compliance.

Apps that fail to meet policy requirements or submit a Declaration Form may be removed from Google Play.

When should you access these permissions

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.

Core functionality is defined as the main purpose of the app. It's the feature most prominently documented and promoted in the app’s description; no other feature is more central to the app’s functionality. If this feature isn't provided, the app is “broken” or rendered unusable (i.e., app is deprived of its primary functionality and will not perform as a user would expect).

  • 1
Reply Report

According to google You may only request permissions that are necessary to implement critical current features or services in your application. You may not use permissions that give access to user or device data for undisclosed, unimplemented, or disallowed features or purposes.

Click Here To Read Official Google Permission Doc

In your case your method makePhoneCall use Intent.ACTION_CALL which needed call permission , i will suggest you to use Intent.ACTION_DIAL which will redirect you to dialer and your app can still call using this function via dialer so you don't need any call permission for that.

public static void makePhoneCall(Activity activity, String phoneNumber) {
        if (phoneNumber != null) {
            Intent callIntent = new Intent(Intent.ACTION_DIAL);
            callIntent.setData(Uri.parse("tel:" + phoneNumber));
  • 0
Reply Report