安卓4.2过滤掉CHANGE_CONFIGURATION许可? [英] Android 4.2 filters out CHANGE_CONFIGURATION permission?

查看:2054
本文介绍了安卓4.2过滤掉CHANGE_CONFIGURATION许可?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我遇到一个奇怪的问题,我有一个应用程序,允许自由改变在Android设备中的字体大小(<一href="https://play.google.com/store/apps/details?id=fr.gatay.android.fss%20%7C%20Font%20Size%20Setter">Font大小二传手)。它用内省调用一些内部的Andr​​oid的API。要做到这一点呼叫,它需要以下权限: android.permission.CHANGE_CONFIGURATION 。它的工作就像一个魅力的Andr​​oid 4.0下和高达4.2的地方不工作了。 挖掘日志我发现,因为它错过这个权限我不能更新字体大小。 Debbuging检查有效权限,我检查对应于我的应用程序的PackageInfo时得到了这些

  requestedPermissions = {java.lang.String中[2] @ 830038778728}
    [0] = {} java.lang.String@830038778760android.permission.CHANGE_CONFIGURATION
    [1] = {} java.lang.String@830038778896android.permission.WRITE_SETTINGS
requestedPermissionsFlags = {INT [2] @ 830038779016}
    [0] = 1
    [1] = 3
 

是否有人有任何有关发生了什么线索,或任何解决方法的想法? 非常感谢你阅读我的。

根据要求AndroidManifest.xml文件

 &LT; XML版本=1.0编码=UTF-8&GT?;
&LT;舱单的xmlns:机器人=htt​​p://schemas.android.com/apk/res/android
          包=fr.gatay.android.fss
          安卓版code =1
          机器人:VERSIONNAME =1.0&GT;
    &LT;使用-SDK安卓的minSdkVersion =14/&GT;
    &LT;使用-权限的Andr​​oid:名称=android.permission.CHANGE_CONFIGURATION/&GT;
    &LT;使用-权限的Andr​​oid:名称=android.permission.WRITE_SETTINGS/&GT;
    &lt;应用机器人:标签=@字符串/ APP_NAME机器人:图标=@可绘制/ app_icon&GT;
        &LT;活动机器人:名称=。MainActivity
        机器人:标签=@字符串/ APP_NAME&GT;
            &LT;意向滤光器&gt;
                &lt;作用机器人:名称=android.intent.action.MAIN/&GT;
                &LT;类机器人:名称=android.intent.category.LAUNCHER/&GT;
            &所述; /意图滤光器&gt;
        &LT; /活性GT;
    &LT; /用途&gt;
&LT; /舱单&GT;
 

解决方案

至少在present, CHANGE_CONFIGURATION 要求对您的应用程序要么通过固件签署签名密钥或系统分区被安装。您可以通过检查框架清单,在那里看到这这些权限被定义。

I come across a weird problem, I got an application allowing to freely change the font size on Android Device (Font Size Setter). It uses introspection to call some internal Android apis. To do this call, it needs the following permission : android.permission.CHANGE_CONFIGURATION. It worked like a charm under Android 4.0 and up to 4.2 where it does not work anymore. Digging into logs I found out that I can't update font size because it misses this permission. Debbuging to check effective permissions, I got these when inspecting the PackageInfo corresponding to my app

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

Does somebody got any clue about what's going on, or any workaround idea ? Thanks a lot for reading me.

Per request, the AndroidManifest.xml file

<?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>

解决方案

At least at present, CHANGE_CONFIGURATION requires for your app either to be signed by the firmware signing key or be installed on a system partition. You can see this by examining the framework manifest, where these permissions are defined.

这篇关于安卓4.2过滤掉CHANGE_CONFIGURATION许可?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆