Yazeed44 MultiImagePicker not working - android

I was trying to implement the MultiImagePicker from Yazeed44 (https://github.com/yazeed44/MultiImagePicker).
The problem I have is, when I open the image selector:
new Picker.Builder(getActivity(), new MyPickListener(), R.style.MIP_theme)
.build()
.startActivity();
The view remains empty where it should be displaying the photo albums to select from. See the screenshot:
What am I missing in order to get this to work?
I'm testing with a Google Nexus 6P with Android 6.0.1. minSdkVersion 19, targetSdkVersion 23. And I'm Gradle importing: net.yazeed44.imagepicker:imagepicker:1.3.0

Try to set targetSdkVersion to 22, the problem occurs because in android 6 you need to request for permissions at run-time. If you have configured targetSdkVersion to 23 in your project, your app needs to support Runtime Permission, but if you doesn't have your code prepared to manage this, you neeed to change targetSdkVersion to 22, in this way you are going to get de old permission behavior.
"Warning: Right now when you create a new project in Android Studio.
targetSdkVersion will be automatically set to the latest version, 23.
If you are not ready to make your application fully support the
Runtime Permission, I suggest you to step down the targetSdkVersion to
22 first."
https://inthecheesefactory.com/blog/things-you-need-to-know-about-android-m-permission-developer-edition/en

Related

"Unsupported value: Tiramisu" while I try to set up the Android 13 SDK

I followed this page: https://developer.android.com/about/versions/13/setup-sdk
to set up Android 13 SDK.
In my build.gradle:
android {
compileSdkVersion("Tiramisu")
defaultConfig {
targetSdkVersion("Tiramisu")
}
}
Then I got the error:
> Unsupported value: Tiramisu. Format must be one of:
- android-31
- android-31-ext2
- android-T
- vendorName:addonName:31
I tried to use "33" instead of "Tiramisu", but it's not working.
I'm using the latest Android Studio Preview as the instruction.
Is there anyone trying to use Android 13 SDK?
This answer is no longer valid because you can use API version 33 now for Tiramisu as it's officially released
Credit to #NickolaySavchenko - Posting this answer since I've been waiting for him for a day.
Finally, after taking advice from #NickolaySavchenko - I have a final working code like this.
compileSdkVersion "android-Tiramisu"
targetSdkVersion "Tiramisu"
Yes, you see it correctly, the targetSdkVersion is Tiramisu, not android-Tiramisu so that it can run in an emulator API Tiramisu device.
I tested and can confirm that minSdkVersion doesn't need to change to android-Tiramisu or Tiramisu. I'm still keeping it as 19 and it's working great.
As #NickolaySavchenko said
compileSdkPreview "android-Tiramisu"
targetSdkPreview "android-Tiramisu"
working fine
and to run it on android 13 you also need to change your minSdk to "android-Tiramisu"

How To Determine SDK Level of Android App? [duplicate]

This question already has answers here:
Android: Get TargetSDKVersion in runtime
(5 answers)
Closed 2 years ago.
I am trying to determine the Build SDK level from within my app. I tried
Log.i( "MYAPP", "SDK="+Build.VERSION.SDK_INT );
I previously had been building for level 28, but recently upgraded to level 30.
My module's current build.gradle file included:
android {
compileSdkVersion 30 // was 28
defaultConfig {
applicationId "com.ramrod.MyApp"
minSdkVersion 23
targetSdkVersion 30 // was 28
more ...
Strangely, logcat still shows level 28.
I've re-synced, did a clean and rebuilt the app but no change.
What's going on
?
As you can see in the documentation here, SDK_INT returns the OS version of the device in which the app is running, and not the targetSdkVersion you're looking for.
public static final int SDK_INT
The SDK version of the software
currently running on this hardware device.
This value never changes
while a device is booted, but it may increase when the hardware
manufacturer provides an OTA update.
To get the targetSdkVersion you need to use ApplicationInfo.targetSdkVersion class:
packageManager.getApplicationInfo(youPackage, 0).targetSdkVersion;

How to debug android SDK classes?

I want to check why sometimes my invalidate() not call onDraw.
1 step: I set a breakpoint on invalidate().
2 step: I click "Step Into" button (also tried "Force Step Into"). But debugger goes not inside invalidate(). It goes inside getElevation() instead. Why?
picture 1
Also, I tried to set a breakpoint inside invalidate() method of View class on line invalidate(true);. But it also remains unreachable. It says that "No executable code ...".
picture 2
I solved it partially.
Device version must be the same as SDK sources version, compileSdkVersion, buildToolsVersion, targetSdkVersion.
In my case SDK sources API 24.
build.gradle:
compileSdkVersion 24
buildToolsVersion "24.0.1"
defaultConfig {
targetSdkVersion 24
...
}
Tracing now works (with these parameters only on API 24 device) but breakpoints still don't work (same No executable code error).
You can try to download the Sources for Android SDK for your targetSdkVersion inside build.gradle and see if you can debug inside the methods then.
But note that the newest Android API 25 does not have the sources available yet.

Android Requires MinSdk <=9

When I am trying to make a new Google Maps Activity, its grey and I cant click the option. (New --> Google --> Google Maps Activity (Requires MinSdk >=9)
I got the same message when I create a new app and try to choose the activity while setting up a new project.
C:\Users\Joey\AppData\Local\Android\sdk\platforms
Android-23
And when opening the SDK manager in Android Studio I got the following SDK tools.
Can someone tell me if Im missing something?
In your application level build.gradle file do you have minSdkVersion 9 or greater than 9 like this:
defaultConfig {
minSdkVersion 15 //this should be greater than or equal to 9
targetSdkVersion 23
//...
}

I got MISSING_PERMISSION issue Here maps Android

I'm trying an application just show Here map on screen. I've followed all of steps in document of Here + provided app_id, app_code, license key + provided 6 permissions in AndroidManifest.xml.
But It got the following issue:
"ERROR: Cannot initialize Map Fragment: MISSING_PERMISSION"
I'm using gradle 2.8, targetSdkVersion 23, compileSdkVersion 23
Android 6 / API 23 has a new permission system, that means you have to request critical permissions from the user.
See Android docs: https://developer.android.com/training/permissions/requesting.html
Just adding the critical permissions to the manifest is not enough anymore.
If you don't want to do this, you can still set traget API level to 22 and work in legacy mode, but to be more future proof, you should implement the new Android6 way of requesting permissions.
The critical permissions in the HERE SDK that you have to request are:
ACCESS_FINE_LOCATION and WRITE_EXTERNAL_STORAGE
Make sure you are using android runtime permission on for location access as from marshmallow onward all the OS need permission to run

Categories

Resources