The following question is related to Android versions 6 and above.
I have done some coding which is working on every device like motoG, Nexus, Pixel etc but the code throws SecurityException in Samsung devices.
The Exception message is
UiAutomatorTestRunner: java.lang.SecurityException: Unable to find app for caller android.app.ApplicationThreadProxy@a70d2 (pid=25949) when getting content provider settings
I did a try catch on Samsung Galaxy S5 and it worked. But for Samsung J7, this exception is also thrown somewhere else in the code. I don't think adding a try catch block is the right approach here.
The code where the exception is thrown is:
Intent intent = AndroidServicesUtil.getPackageManager().getLaunchIntentForPackage(packageName);
The exception stack is: >
java.lang.SecurityException: Unable to find app for caller android.app.ApplicationThreadProxy@123375c (pid=6375) when getting content provider settings
at android.os.Parcel.readException(Parcel.java:1621)
at android.os.Parcel.readException(Parcel.java:1574)
at android.app.ActivityManagerProxy.getContentProvider(ActivityManagerNative.java:4292)
at android.app.ActivityThread.acquireProvider(ActivityThread.java:6570)
at android.app.ContextImpl$ApplicationContentResolver.acquireProvider(ContextImpl.java:2388)
at android.content.ContentResolver.acquireProvider(ContentResolver.java:1505)
at android.provider.Settings$NameValueCache.lazyGetProvider(Settings.java:1431)
at android.provider.Settings$NameValueCache.getStringForUser(Settings.java:1505)
at android.provider.Settings$Secure.getStringForUser(Settings.java:8662)
at android.provider.Settings$Secure.getIntForUser(Settings.java:8732)
at android.provider.Settings$Secure.getInt(Settings.java:8722)
at android.app.ApplicationPackageManager.getHiddenList(ApplicationPackageManager.java:814)
at android.app.ApplicationPackageManager.isHidden(ApplicationPackageManager.java:859)
at android.app.ApplicationPackageManager.queryIntentActivitiesAsUser(ApplicationPackageManager.java:925)
at android.app.ApplicationPackageManager.queryIntentActivities(ApplicationPackageManager.java:907)
at android.app.ApplicationPackageManager.getLaunchIntentForPackage(ApplicationPackageManager.java:302)
at com.myclass.launchApp(SessionManager.java:595)
Can anyone help me in understanding why is the SecurityException thrown only in Samsung devices for Android version >= 6.
Thanks.