I'm making a React-Native app and in the AndroidManifest.xml file, I ask some things :
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.RECORD_AUDIO"/>
<uses-permission android:name="android.permission.RECORD_VIDEO"/>
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE" android:maxSdkVersion="29"/>
<uses-permission android:name="android.permission.ACCESS_MEDIA_LOCATION"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" android:maxSdkVersion="29" />
As you can see, I never ask my app to access to the contacts.
However, when I build my app, she ask me the permission to access to my contacts.
Have you an idea ? Thanks !
You can check which dependency has added the permission by looking at the
android/app/build/outputs/logs/manifest-merger-debug-report.txt log.
Related
I need help regarding app store submission for my android app, when I try to submit they said like following always.
Your recent app submission was rejected for violating the Permissions policy. Before submitting your app for another review, read through the policy and make sure your app is in compliance. We've sent more details to admin#xxxxxx.com.
now I had used following permissions only
FYI,
In my previous submission i had SMSRead and SMS receive permission only
but i tried to submit app login credentials and also app video uploaded too..
but that case also same issue i had received..
they ask permissions reg following link
https://play.google.com/about/privacy-security-deception/permissions/
still they asking same find in above screen shot...
my code is following to remove all permissions
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.CAMERA"/>
<uses-permission tools:node="remove" android:name="android.permission.READ_SMS"
/>
<uses-permission tools:node="remove" android:name="android.permission.RECEIVE_SMS"
/>
<uses-permission tools:node="remove" android:name="android.permission.DOWNLOAD_WITHOUT_NOTIFICATION"
/>
<uses-permission tools:node="remove" android:name="android.permission.SEND_SMS"
/>
<uses-permission tools:node="remove" android:name="android.permission.WRITE_SMS"
/>
<uses-permission tools:node="remove"
android:name="android.permission.RECEIVE_WAP_PUSH"
/>
<uses-permission tools:node="remove"
android:name="android.permission.RECEIVE_MMS"
/>
<uses-permission tools:node="remove"
android:name="android.permission.READ_CALL_LOG"
/>
<uses-permission tools:node="remove"
android:name="android.permission.WRITE_CALL_LOG"
/>
<uses-permission tools:node="remove"
android:name="android.permission.PROCESS_OUTGOING_CALLS"
/>
<uses-permission tools:node="remove" android:name="android.permission.WAKE_LOCK"
/>
<uses-permission tools:node="remove" android:name="android.permission.ACCESS_WIFI_STATE"
/>
<uses-permission tools:node="remove" android:name="com.android.vending.CHECK_LICENSE"
/>
The AndroidManifest.xml contains these (and some more) permissions:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.READ_PROFILE" />
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
The WRITE_EXTERNAL_STORAGE is contained two times. So I remove one and reorder:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.READ_PROFILE" />
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
The audio recorder (https://github.com/3llomi/RecordView) normally requests storage access permission and microphone access permission. But after the change it does not request the storage access anymore and therefore the record view does not work.
I uninstall the app from the device for each manifest change to reset permissions.
How is it possible that removing a duplicate line causes this?
The merged view of the AndroidManifest.xml revealed that another library also declares this permission with maxSdkVersion="18":
The app was running on API>18, I assume therefore it did not request the permission. Removing maxSdkVersion made the storage permission appear again and the recorder view worked:
<uses-permission
android:name="android.permission.WRITE_EXTERNAL_STORAGE"
tools:remove="android:maxSdkVersion" />
My guess is that because WRITE_EXTERNAL_STORAGE was contained two times in the AndroidManifest.xml, the manifest merging process added the maxSdkVersion only to one of them. The other WRITE_EXTERNAL_STORAGE had no maxSdkVersion hence the app was requesting the permission also on API>18.
I just uploaded my SMS application on Google play store but the problem is that whenever user install the application the app needs access to Photo/Media/Files too. However i donot write this permission in my manifest. please tell me whats the issue
I write following permissions in my app:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_SMS" />
<uses-permission android:name="android.permission.RECEIVE_SMS" />
<uses-permission android:name="android.permission.WRITE_SMS" />
<uses-permission android:name="android.permission.CALL_PHONE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.SEND_SMS"/>
<uses-permission android:name="android.permission.RECEIVE_WAP_PUSH"/>
<uses-permission android:name="android.permission.RECEIVE_MMS"/>
But it still wants to access to media/photo/files
What is the issue?
However i donot write this permission in my manifest.
Yes, you do:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
What is the issue?
You are asking for a permission (WRITE_EXTERNAL_STORAGE) from the STORAGE permission group.
Thanks to this question https://stackoverflow.com/a/32084038/1979882
I found that I have to ask the user if he/she grants my app to retrieve the location. Ok, this work for android.Manifest.permission.ACCESS_FINE_LOCATION in Android 6.0 or it will show this error:
java.lang.RuntimeException: Unable to start activity ComponentInfo{my.app/my.pack.mActivity}: java.lang.SecurityException: "network" location provider requires ACCESS_COARSE_LOCATION or ACCESS_FINE_LOCATION permission.
But in my application there are several permissions:
<uses-permission android:name="android.permission.REORDER_TASKS" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.GET_TASKS" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="ru.ps.vm.permission.MAPS_RECEIVE" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/>
Which of them are needed requestPermissions() method to ask the user?
I am getting the following error when I am trying to install my app on my HTC device.
Package com.org.activities requires unavailable feature
android.hardware.sdcard; failing!
However, I do have my SD card in my device.
Here is the code I have written in my manifest file:
<uses-sdk android:minSdkVersion="8" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<uses-permission android:name="android.permission.CAMERA"/>
<uses-permission android:name="android.permission.VIBRATE"/>
<uses-permission android:name="android.permission.FLASHLIGHT"/>
<uses-permission android:name="android.permission.WRITE_INTERNAL_STORAGE"/>
<uses-feature android:name="android.hardware.sdcard" android:required="true"/>
<uses-feature android:name="android.hardware.camera" android:required="true"/>
What's wrong with it? I need to check for these features as I am using an SD card and the camera for my app.
This hardware feature does not seem to exist. I can't find it in the reference?
http://developer.android.com/guide/topics/manifest/uses-feature-element.html#hw-features
How did you arrive at this feature name?