您好,我正在制作我的应用程序,我担心我可能已经保留了一些权限,并且真的永远不会确定我使用了正确的权限,您可以放入任何类型的代码来查看我的应用实际使用的是什么?或类似的东西,因为在我选择我的权限时,它总是一个猜谜游戏,因为我无法确定。
下面是一个例子,我做了一个“检查更新”按钮。从那我发起一个Intent去我的应用程序在市场上是使用互联网连接?或者我只是使用Intent,因为有些人不会有工作数据连接所以我必须写入访问完整的网络或类似的东西?它让我很困惑
答案 0 :(得分:0)
我认为你必须在app的测试阶段检查它。如果你没有给出适当的权限,那么应用就会出错,你可以根据错误添加适当的权限。
答案 1 :(得分:0)
以下是一个遍历权限的示例:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
PackageManager pm = getPackageManager();
try {
PackageInfo pi = pm.getPackageInfo("<INTERESTING PACKAGE NAME>", PackageManager.GET_PERMISSIONS);
if ((null == pi.requestedPermissions) ||
(pi.requestedPermissions.length == 0)) {
Log.d("NOTE", "Package has NO permissions!");
return;
}
for (int i = 0; i < pi.requestedPermissions.length; ++i) {
Log.d("NOTE", pi.requestedPermissions[i] + " " + checkCallingOrSelfPermission(pi.requestedPermissions[i]));
}
} catch (NameNotFoundException e) {
Log.d("ERR", "Package name is wrong!");
}
}
编辑:您的问题似乎在询问您的应用使用的权限;此代码告诉您的应用您已请求的权限。如果您想知道正在使用的是什么,您需要从您的应用程序中删除所有权限(如果您确实需要其中任何一个,将导致运行时错误),然后通过读取错误日志和/或逐步添加权限,直到工作正常,手动确定实际需要什么。