Android 4.2 filtre CHANGE_CONFIGURATION autorisation?
Je rencontre un problème bizarre, j'ai une application permettant de changer librement la taille de la police sur un Appareil Android (Taille De La Police Setter). Il utilise l'introspection appel à des api Android. Pour ce faire, il a besoin de l'autorisation suivante : android.permission.CHANGE_CONFIGURATION
. Il a travaillé comme un charme sous Android 4.0 et jusqu'à 4.2 dans le cas où il ne fonctionne plus.
Creuser dans les journaux, j'ai découvert que je ne peux pas mettre à jour la taille de police car il manque de cette autorisation. Debbuging pour vérifier les autorisations effectives, j'ai eu ces lors de l'inspection du PackageInfo correspondant à mon application
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
N'quelqu'un ai aucune idée de ce qui se passe, ou de toute solution de contournement idée ?
Merci beaucoup de me lire.
Par la demande, la AndroidManifest.xml fichier
<?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>
J'ai eu le même problème sur play.google.com/store/apps/.... J'ai ajouté android:maxSdkVersion="16" à mon manifeste pour filtrer les plus récentes versions d'android!
OriginalL'auteur Cedric Gatay | 2012-11-18
Vous devez vous connecter pour publier un commentaire.
Au moins à l'heure actuelle,
CHANGE_CONFIGURATION
exige pour votre application doit être signé par le firmware de la clé de signature ou être installé sur une partition système. Vous pouvez voir cela en examinant le cadre de manifeste, où ces autorisations sont définies.Eh bien, vous êtes à l'aide de "l'introspection appel à des api Android" -- en attendant que de travailler avec l'ensemble des rejets n'est pas très sensible. Cela étant dit, je n'ai aucune idée de ce que précisément vous avez été en utilisant
CHANGE_CONFIGURATION
pour.fondamentalement, je suis d'utilisation
IActivityManager#updatePersistentConfiguration
pour mettre à jour la taille de la police Android à utiliser. Je n'ai pas trouver d'autres façons de le faire. Je préfère le à l'aide d'une API publique.Comment peut-on aller sur l'achat d'un firmware de la clé de signature? Mon org dépend d'un outil interne qui définit un bidon de paramètres régionaux pour les tests de localisation, et c'est jeter une clé dans Jellybean assurance de la qualité.
peut-on aller sur l'achat d'un firmware de la clé de signature?" - vous avez à construire votre propre firmware. Par exemple, CyanogenMod a certaines clés de signature pour les utiliser dans leur ROM mod.
OriginalL'auteur CommonsWare
Le niveau de protection de CHANGE_CONFIGURATION autorisation a été changé pour "système|signature|développement" (v4.2) de "dangereux" (v4.1 et ci-dessous) depuis Android v4.2
Il ressemble en aucune façon pour la 3ème partie apps pour obtenir CHANGE_CONFIGURATION autorisation sur Android 4.2+ périphériques. 🙁
OriginalL'auteur Sam Lu
Vérifier ce post http://blog.sightidea.com/?p=44
Vous pouvez demander à l'utilisateur d'accorder la permission à l'application avec
adb
outil:OriginalL'auteur situee