Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/196.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Facebook:getPermissions不工作_Android_Facebook_Permissions - Fatal编程技术网

Android Facebook:getPermissions不工作

Android Facebook:getPermissions不工作,android,facebook,permissions,Android,Facebook,Permissions,我正在尝试确定我的用户是否具有发布权限,我正在为其运行下一个代码: private static final List<String> PERMISSIONS = Arrays.asList("publish_actions"); private void post(Bundle postParams){ // Check for publish permissions List<String> permissions = Session.getA

我正在尝试确定我的用户是否具有发布权限,我正在为其运行下一个代码:

private static final List<String> PERMISSIONS = Arrays.asList("publish_actions");
private void post(Bundle postParams){
    // Check for publish permissions    
    List<String> permissions = Session.getActiveSession().getPermissions();
    if (!isSubsetOf(PERMISSIONS, permissions)) {
        // Ask for permission logic
    }
    else{

        // Post logic
    }
}

private boolean isSubsetOf(Collection<String> subset, Collection<String> superset) {
    for (String string : subset) {
        if (!superset.contains(string)) {
            return false;
        }
    }
    return true;
}
private static final List PERMISSIONS=Arrays.asList(“publish_actions”);
专用作废后处理(捆绑后处理参数){
//检查发布权限
列表权限=Session.getActiveSession().getPermissions();
如果(!isSubsetOf(权限、权限)){
//请求许可逻辑
}
否则{
//后逻辑
}
}
私有布尔isSubsetOf(集合子集、集合超集){
for(字符串:子集){
如果(!superset.contains(string)){
返回false;
}
}
返回true;
}
但是,即使我从facebook
Session.getActiveSession().getPermissions()
中的应用程序帐户中删除权限,也会返回一个包含该权限的列表


我做错了什么?如何清除facebook上的权限缓存?

会话认为自己拥有的权限会缓存在设备上,因此一旦获得这些权限,它总是认为自己拥有这些权限。但是,如果用户将发布请求从网站中删除,则发布请求将失败。你可以在这里看到Facebook建议你如何处理这些错误-

在您提出请求之前,根本无法知道用户已从网站中删除了权限


如果你想知道你的应用程序在任何时候拥有的确切权限集,你可以随时自己向/me/permissions发出图形请求。

会话认为它拥有的权限被缓存在设备上,因此一旦它获得这些权限,它总是认为它拥有这些权限。但是,如果用户将发布请求从网站中删除,则发布请求将失败。你可以在这里看到Facebook建议你如何处理这些错误-

在您提出请求之前,根本无法知道用户已从网站中删除了权限

如果您想知道您的应用程序在任何时候拥有的确切权限集,您可以随时向/me/permissions发出图形请求