gpt4 book ai didi

Android 权限是可选的还是强制的?

转载 作者:行者123 更新时间:2023-11-29 01:26:37 25 4
gpt4 key购买 nike

我们有一个应用程序,开发人员在 list 文件中添加了这么多权限。该应用程序在 play-store 中可用,但上次我们更新该应用程序时,google play 拒绝了更新,说我们的应用程序正在尝试未经授权的服务访问.我们在这里做错了什么?我们没有在更新中更改任何内容(只是修复了一些错误)。我还看到其他应用程序在 Play 商店中做同样的事情,但它只有 3 个权限,而不是以下所有权限。这些权限是强制性的吗?我们可以跳过以便成功更新我们的应用程序吗?我们缺少什么?

    <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.unitedapps.netguard"

android:versionCode="2"
android:versionName="1.0.1" >
<!-- android:installLocation="preferExternal"-->
<uses-sdk
android:minSdkVersion="8"
android:maxSdkVersion="20"
android:targetSdkVersion="20" />

<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.PACKAGE_USAGE_STATS" />
<uses-permission android:name="android.permission.GET_TASKS" />
<uses-permission android:name="android.permission.MODIFY_PHONE_STATE" />
<uses-permission android:name="android.permission.REORDER_TASKS" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/TitleBarTheme" >



<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>
<activity
android:name=".NextActivity"
android:label="@string/app_name" />

<receiver android:name=".CheckRunningApplicationReceiver" />
<receiver android:name=".NotificationListener" />
<receiver android:name=".StartupReceiver" >
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
<action android:name="StartupReceiver_Manual_Start" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED"/>
</intent-filter>
</receiver>
<receiver android:name=".MyWidgetProvider" >
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
</intent-filter>

<meta-data
android:name="android.appwidget.provider"
android:resource="@xml/demo_widget_provider" />
</receiver>
<receiver
android:name=".MyWidgetIntentReceiver"
android:label="@string/app_name" >
<intent-filter>
<action android:name="com.netsaver.intent.action.UPDATE_WIDGET" />
</intent-filter>

<meta-data
android:name="android.appwidget.provider"
android:resource="@xml/demo_widget_provider" />
</receiver>

<activity
android:name=".PopUpActivity"
android:label="@string/app_name"
android:theme="@android:style/Theme.Dialog" >
</activity>
</application>

</manifest>

最佳答案

除了这些特殊权限(GET_TASKSMODIFY_PHONE_STATESYSTEM_ALERT_WINDOW)之外,您可以使用其他正常权限。

GET_TASKS权限在 API 21 中已弃用,但由于您的应用程序针对 API 20,不确定这是否会影响您。

getRecentTasks: this method is no longer available to third party applications: the introduction of document-centric recents means it can leak personal information to the caller.

MODIFY_PHONE_STATE许可在 Android 2.3 中被标记为“仅供系统使用”。你可以试试 these solutions .

SYSTEM_ALERT_WINDOW是一个特别敏感的权限,所以大多数应用程序不应该使用它们。看看您是否可以避免使用它。

关于Android 权限是可选的还是强制的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33664315/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com