O Android 4.2 filtra a permissão CHANGE_CONFIGURATION?
Eu me deparo com um problema estranho, eu tenho um aplicativo que permite alterar livremente o tamanho da fonte no dispositivo Android (Setter do tamanho da fonte). Ele usa introspecção para chamar algumas API internas do Android. Para fazer esta chamada, precisa da seguinte permissão:android.permission.CHANGE_CONFIGURATION
. Funcionou como um encanto sob o Android 4.0 e até 4.2, onde não funciona mais. Pesquisando em logs Descobri que não posso atualizar o tamanho da fonte porque ela não tem permissão. Debugando para verificar as permissões efetivas, recebi estas ao inspecionar o PackageInfo correspondente ao meu aplicativo
requestedPermissions = {java.lang.String[2]@830038778728}
[0] = {java.lang.String@830038778760}"android.permission.CHANGE_CONFIGURATION"
[1] = {java.lang.String@830038778896}"android.permission.WRITE_SETTINGS"
requestedPermissionsFlags = {int[2]@830038779016}
[0] = 1
[1] = 3
Alguém tem alguma idéia sobre o que está acontecendo ou alguma idéia de solução alternativa? Muito obrigado por me ler.
Por solicitação, o arquivo AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="fr.gatay.android.fss"
android:versionCode="1"
android:versionName="1.0">
<uses-sdk android:minSdkVersion="14"/>
<uses-permission android:name="android.permission.CHANGE_CONFIGURATION" />
<uses-permission android:name="android.permission.WRITE_SETTINGS"/>
<application android:label="@string/app_name" android:icon="@drawable/app_icon">
<activity android:name=".MainActivity"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
</application>
</manifest>