我已经实现了一个应用程序来获取数据使用情况,为了获取数据,我们需要提供两个权限 -
PACKAGE_USAGE_STATS
READ_PHONE_STATE
当我将应用程序安装为 Play 商店应用程序时,它可以正常工作,但是当我将其作为系统应用程序推送时,它会崩溃。此崩溃的原因是 - PACKAGE_USAGE_STATS 权限。对于系统应用程序,其默认值已启用,但仍然崩溃并产生以下异常
java.lang.SecurityException:NetworkStats:用户和当前进程都没有 android.permission.READ_NETWORK_USAGE_HISTORY。在 android.os.Parcel.readException(Parcel.java:1620) 在 android.net.INetworkStatsSession$Stub$Proxy.getHistoryIntervalForUid(INetworkStatsSession.java:425) 在 android.os.Parcel.readException(Parcel.java:1573) 在android.app.usage.NetworkStats.startHistoryEnumeration(NetworkStats.java:341) 在 android.app.usage.NetworkStatsManager.queryDetailsForUid(NetworkStatsManager.java:201) 在 com.android.launcher3。
一旦我切换权限,它就可以正常工作。如何解决这个问题?