Notification from Google Play || Malicious Behavior or User Data policy || Intent Redirection
Asked Answered
A

1

2

enter image description here

As mentioned in image my app is violating there policy but i've another app for the same which is for doctor's and that app is using the same libraries and almost everything similar to this app but still my doctor app is accepted without any violation

androidx.fragment.app.FragmentActivity.startActivityForResult and they are saying your startActivityForResult is responsible for this but i'm only calling this line for opening camera and gallery.

i've tried uploading my app multiple time's with upgraded gradle and there remediations available here https://support.google.com/faqs/answer/9267555 but still no success.

you can also refer below image for further details.

my gradle

buildscript {
    repositories {
        maven { url 'https://plugins.gradle.org/m2/' }
    }
    dependencies {
        classpath 'gradle.plugin.com.onesignal:onesignal-gradle-plugin:0.12.8'
    }
}
apply plugin: 'com.onesignal.androidsdk.onesignal-gradle-plugin'

repositories {
    maven { url 'https://maven.google.com' }
}
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'com.google.firebase.crashlytics'

android {
    compileSdkVersion 29
    defaultConfig {
        applicationId "com.doctoronline.telehealth.patient"
        manifestPlaceholders = [
                onesignal_app_id               : "********-****-****-****-************",
                // Project number pulled from dashboard, local value is ignored.
                onesignal_google_project_number: "REMOTE"
        ]
        minSdkVersion 21
        targetSdkVersion 29
        versionCode 44
        versionName "1.0.24.1"
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
        vectorDrawables.useSupportLibrary = true
    }
    buildFeatures {
        viewBinding = true
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }

    lintOptions {
        checkReleaseBuilds false
    }

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8

        kotlinOptions {
            jvmTarget = '1.8'
        }
    }
}

buildscript {
    repositories {
        mavenCentral()
        google()
    }
    dependencies {
        //noinspection GradlePluginVersion
        classpath 'com.android.tools.build:gradle:0.6.+'

    }
}
repositories {
    mavenCentral()

}

dependencies {
    implementation fileTree(include: ['*.jar'], dir: 'libs')
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
    implementation 'androidx.appcompat:appcompat:1.2.0'
    implementation 'androidx.legacy:legacy-support-v4:1.0.0'
    implementation 'com.google.android.material:material:1.1.0'
    implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'androidx.test:runner:1.3.0'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
    implementation 'de.hdodenhof:circleimageview:3.1.0'
    implementation 'org.java-websocket:Java-WebSocket:1.3.9'
    implementation 'com.android.volley:volley:1.1.1'
    implementation 'com.squareup.picasso:picasso:2.71828'
    implementation 'com.google.firebase:firebase-core:18.0.1'
    implementation 'org.webrtc:google-webrtc:1.0.28513'
    implementation 'com.payumoney.sdkui:plug-n-play:1.6.0'

    implementation 'com.google.firebase:firebase-analytics:18.0.1'
    implementation 'com.google.firebase:firebase-crashlytics:17.3.0'

    implementation 'com.flurry.android:analytics:11.6.0@aar'
    implementation 'com.github.bumptech.glide:glide:4.9.0'
    implementation('com.alimuzaffar.lib:pinentryedittext:1.3.10')
    implementation 'com.hbb20:ccp:2.3.2'
    implementation 'com.google.android.gms:play-services-auth:19.0.0'
    implementation 'com.google.android.gms:play-services-auth-api-phone:17.5.0'
    implementation 'com.koushikdutta.ion:ion:3.0.8'
    implementation 'com.wdullaer:materialdatetimepicker:4.2.3'
    implementation 'io.agora.rtc:full-sdk:3.0.0'
    api 'com.theartofdev.edmodo:android-image-cropper:2.8.0'

    //OneSignal
    implementation 'com.onesignal:OneSignal:3.14.1'

    implementation 'com.toptoche.searchablespinner:searchablespinnerlibrary:1.3.1'
    //Auto-Resizable Pixel
    implementation 'com.intuit.sdp:sdp-android:1.0.6'
    implementation 'com.intuit.ssp:ssp-android:1.0.6'

    //for new version updater
    implementation 'com.google.android.play:core:1.9.1'
}

apply plugin: 'com.google.gms.google-services'

Thanks in advance. enter image description here

Atterbury answered 28/1, 2021 at 6:14 Comment(18)
@RyanM please take a look at my gradleAtterbury
I'm also facing the same issue, anyone has any solution yet??Obstetrics
@SimonChius please take a look at the answer and image which i posted.Atterbury
Thanks @Aliasgar Patel, I will try that and update here.Obstetrics
@SimonChius Have you solved it? I am also facing the same issue 1.androidx.core.app.ActivityCompat.startActivityForResult 2.androidx.fragment.app.FragmentActivity.startActivityForResult But I didn't found, how to resolve this !! Please someone help.Livelihood
@Livelihood please share more details about your violation, or check weather your app is using a broadcast receiver and that has not been registered successfully in menifest of your application.Atterbury
@AliasgarPatel Thanks for the reply bro. I have shared the violation details as I got from Google Play Console. I'll check the broadcast receiver as per your suggestion.Livelihood
@Livelihood glad to know it helped you.Atterbury
hi, last month we are also facing the same issue, i would like to know that your problem resolved or not, if you know how to rectify this issue please help me.Siccative
Hi @Siccative my issue is resolved and i've also added answer to my own question. please check it and i've also added image into that answer.Atterbury
Hi @AliasgarPatel I tried same thing but my App is again rejected can you please help me skive the issue. I got mail from play store this error: "androidx.fragment.app.FragmentActivity.startActivityForResult". i tried everything last few days but doesn't work any thing. can you please help me.Siccative
@Siccative please check your menifest or any other 3rd party library which is not using android exported : true, also check your merged menifest and can you be more specific?Atterbury
This my build.gradle file, this third part libraries i am using, please check once and let me know. for further verification i am sending manifest.xml file also, Thanks in advanceSiccative
//Compresso implementation 'id.zelory:compressor:3.0.1' //Glide implementation 'com.github.bumptech.glide:glide:4.12.0' annotationProcessor 'com.github.bumptech.glide:compiler:4.12.0' //Dexter Permission handler implementation 'com.karumi:dexter:6.2.2' //lottie animation implementation 'com.airbnb.android:lottie:3.6.1' //Pdf viewer implementation 'com.github.barteksc:android-pdf-viewer:2.8.2' implementation 'com.mindorks.android:prdownloader:0.6.0' //CropImage api 'com.theartofdev.edmodo:android-image-cropper:2.8.0' implementation 'com.github.yalantis:ucrop:2.2.6'Siccative
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> <uses-featureandroid:name="android.hardware.camera" android:required="false"/> <uses-featureandroid:name="android.hardware.camera.autofocus" android:required="false"/> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/> <uses-permissionandroid:name="android.permission.WRITE_EXTERNAL_STORAGE"tools:ignore="ScopedStorage"/> <uses-permission android:name="android.permission.CAMERA"/> <uses-permission android:name="android.permission.CALL_PHONE"/>Siccative
<uses-permission android:name="android.permission.VIBRATE"/> <uses-permission android:name="android.permission.RECORD_AUDIO"/> <uses-permission android:name="android.permission.BLUETOOTH"/> <uses-permission android:name="android.permission.FOREGROUND_SERVICE"/>Siccative
@Siccative can you mail me at [email protected] it will be better there.Atterbury
what are the details you need,Siccative
A
1

In my case it was sms broadcast receiver, heres mail received from google after around a month of coordination with google play team they sent mw the details of the violation please take a look at the image attached below.

enter image description here

Atterbury answered 18/3, 2021 at 4:5 Comment(4)
Have you used sms retriever api ?.Kilk
Hi @MageshPandian I'm sharing you api which i've used. developers.google.com/identity/sms-retriever/requestAtterbury
thanks for the link. I used implicit broadcast for sms retriver and dynamically register and unregister. My doubt is if I'm dynamically regsiter the broadcast where I add android:permission="com.google.android.gms.auth.api.phone.permission.SEND" or Not need ?Kilk
@MageshPandian Please register your receiver in manifest also just like this. <receiver android:name=".OnReceiverClass" android:exported="false" android:permission="com.google.android.gms.auth.api.phone.permission.SEND"> <intent-filter> <action android:name="com.google.android.gms.auth.api.phone.SMS_RETRIEVED"/> </intent-filter> </receiver>Atterbury

© 2022 - 2024 — McMap. All rights reserved.