【发布时间】:2019-03-11 18:10:13
【问题描述】:
我在我的应用程序中使用定位服务,并且在我设置权限的地方,我有这个警告:Unchecked assignment: 'java.util.ArrayList' to 'java.util.ArrayList
代码:
permissions.add(Manifest.permission.ACCESS_FINE_LOCATION);
permissions.add(Manifest.permission.ACCESS_COARSE_LOCATION);
permissionsToRequest = findUnAskedPermissions(permissions);
警告出现在最后一行。
我在代码开始处定义了这样的数组:
ArrayList<String> permissions = new ArrayList<>();
ArrayList<String> permissionsToRequest= new ArrayList<>();
ArrayList<String> permissionsRejected = new ArrayList<>();
稍后在我的代码中,我请求许可(如果用户不允许):
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
if (permissionsToRequest.size() > 0) {
requestPermissions(permissionsToRequest.toArray(new String[permissionsToRequest.size()]),
ALL_PERMISSIONS_RESULT);
canGetLocation = false;
}
}
这里的toArray 会导致警告:使用预先确定大小的数组参数“new String[permissionsToRequest.size()]”调用“toArray()”
这里我可以尝试替换为
toArray(new String[0])
但不确定是否正确。
【问题讨论】:
标签: android arraylist permissions android-permissions toarray