Accessing external storage on Android 11 (target sdk version is 29) - android

I have an App that has to access external storage (logs, etc), and it stopped working since I updated it to Android 10. I found a workaround to set
android:requestLegacyExternalStorage="true"
and it works fine on Android 10 now, but not on Android 11. I heard that this should still work on Android 11 if my app is targeting android 10 (SDK 29), so in my case, it should work. But it doesn't, and I still get deployment failed, permission denied

Related

No System Images available in Android SDK manager to enable AVD creation

I've just upgraded the Android Support libraries and thus the minimum version of the OS required for me Xamarin Forms app and now want to test it on some devices. I can run it on my phone just fine but wanted to create an Android 7.1.1 (API 25) or Android 8.0.0 (API 26) emulator to test on.
However when I go to create a new AVD, I get the message
No System Images installed for this target
So I flip over in to the SDK manager, but there are no system images available:
So my question is, where and how do I get these system images? Or am I just not able to create AVD's for these API versions for some reason?
I've tried adding new sources, including this one:
https://dl.google.com/android/repository/sys-img/android/sys-img2-1.xml
But it hasn't made any difference. Do I need different sources for later API versions?
No System Images installed for this target
Check your SDK Update sites, make sure that it contains these entries:
https://dl.google.com/android/repository/sys-img/android/sys-img.xml
https://dl.google.com/android/repository/sys-img/google_apis/sys-img.xml
Then, start SDK Manager as Administrator again, download the API 25 and API 26 system image if they are listed.
After download the system image, you could create an Android 7.1.1 (API 25) or Android 8.0.0 (API 26) emulator.

Permission issue on android lollipop device after upgarde

I have updated my device few days ago. Its an lollipop upgrade, but still it started asking permissions for my app at run time.
I have targetSDK 21
But when I open app it pops up for gps permission and if user denied it, it stops working.
I also used checkSelfPermission but it is retuning Granted(0) every time even user denied it.
My current android version of Phone is android 5.1.1
Device having android 5.1.1 but its OS is customised by MI like samsung phones. So after upgrade it started asking permission for resource like GPS, Contact and other. Its android sdk version is android 5.1.1 not Android 6.0 which have Runtime Permissions.
You require to implement runtime permission check for Android-21 plus device. Check the solution over here. You will find how array has been utilized in that, mostly that is were user stucks.
Additionally, if denied then you cannot force user to use that functionality. In short you need to bypass that module.
Lollipop have no runtime permission mechanism.
Runtime Premission came up with Android M.
change the sdk version under gradlebuild minSdkVersion 20 check from here https://developer.android.com/about/versions/android-5.0.html

In Android Marshmallow App is having all dangerous permission by default

I have built an app with android sdk version 22 and now I want to upgrade it with sdk 23. I know that from Android 6.0 onwards user would have to allow or deny dangerous permissions at runtime. But in my case when I compiled my app with sdk 23 and run it on a Android Android 6.0 device(I tried with two devices) I can see the app is not crashing and all the dangerous permissions which are enlisted in Manifest are given by default. Can someone please help me finding out why this is happening?
Have you changed TargetSDK to 23?
Android checks the target sdk and loads apis of that target. Here even though you are compiling it to 23, android thinks that Marshmallow apis are not used and hence defaults to previous API. So run time permissions are not checked.

Always getting empty Wifi scanResult on Nexus 6

I created a project to get available hotspots. It works well on versions older than Android 6.0. But when using the Nexus (Android 6) the scan result is always empty.
Anyone knows where the problem is?
This can happen in two cases
1. When your compiled SDK version is 22 or below.
2. Or your compiled SDK is 23 and the use has explicitly denied the location permission to your app when it asked for it in Marshmallow.

Android 4.4 new rules for accessing external storage: are lower sdk targeted apps affected?

Unfortunately my app could be broken by Android 4.4 new rules for accessing external storage.
See here: http://www.xda-developers.com/android/android-l-may-change-sd-card-access-rules/
It is compiled against Android 3.1 so I would like to know if my app is affected when runs on a 4.4 device, being targeted to level=12 sdk.
I mean, is Android 4.4 compatible with old apps that had free access to files on external storage or it breaks them even if they have lower target sdk?

Categories

Resources