我遇到了一个奇怪的问题,我得到了一个允许在Android设备(字体大小设置器)上自由更改字体大小的应用程序.它使用内省来调用一些内部的Android apis.要进行此调用,需要以下权限:android.permission.CHANGE_CONFIGURATION.它在Android 4.0下运行起来就像一个魅力,在它不再起作用的情况下高达4.2.挖掘日志我发现我无法更新字体大小,因为它错过了这个权限.为了检查有效权限,我在检查与我的应用程序对应的PackageInfo时得到了这些权限
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
Run Code Online (Sandbox Code Playgroud)
有人对正在发生的事情或任何解决方法的想法有任何线索吗?非常感谢您阅读我.
每个请求,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>
Run Code Online (Sandbox Code Playgroud)
检查这篇文章 http://blog.sightidea.com/?p=44
您可以要求您的用户使用adb工具授予应用程序权限:
>adb shell
>pm grant com.yourapp.packagename android.permission.CHANGE_CONFIGURATION
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13559 次 |
| 最近记录: |