1

嗨,我正在制作我的应用程序,我担心我可能遗漏了一些权限,并且真的无法确定我使用了正确的权限你可以输入任何类型的代码来查看我的应用程序实际使用的是什么吗?或类似的东西,因为我永远无法确定在选择我的权限时它总是一个猜谜游戏。

这是我制作“检查更新”按钮的示例。从那以后我启动了一个意图去市场上我的应用程序是使用互联网连接吗?还是我只是使用 Intent 是因为有些人没有有效的数据连接,所以我是否必须编写访问完整网络或类似的东西?它真的让我很困惑

4

2 回答 2

0

我认为你必须在应用程序的测试阶段检查它。如果你没有提供适当的权限,那么应用程序会给出错误,你可以根据错误添加适当的权限。

于 2013-05-28T11:13:02.937 回答
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!");
    }
}

编辑:您的问题似乎是在询问您的应用正在使用什么权限;此代码告诉您的应用您请求了哪些权限。如果您想知道正在使用什么,您需要从您的应用程序中删除所有权限(如果您确实需要这些权限,这将导致运行时错误),然后通过读取错误日志和/或逐步添加权限,直到一切正常,手动确定实际需要什么。

于 2013-05-28T11:48:24.080 回答