private static String[] PERMISSIONS_STORAGE = { Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.CAMERA}; private static int REQUEST_PERMISSION_CODE = 1; private RecyclerView recy_xinwen_home; private PlanAdapter planAdapter; LinearLayout llt_empty; ImageView iv_camera;
时间: 2024-01-08 08:03:02 浏览: 141
这段代码中定义了一个名为`PERMISSIONS_STORAGE`的字符串数组,其中包含了读写存储和相机权限。再定义了一个名为`REQUEST_PERMISSION_CODE`的整型变量,用于请求权限时的请求码。接下来定义了一个RecyclerView和一个PlanAdapter,用于显示新闻列表。同时还有一个LinearLayout和一个ImageView,用于显示空数据页面和启动相机的按钮。
相关问题
public void initView() { if (Build.VERSION.SDK_INT > Build.VERSION_CODES.LOLLIPOP) { if (ActivityCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) { ActivityCompat.requestPermissions(this, PERMISSIONS_STORAGE, REQUEST_PERMISSION_CODE); } } }
这段代码是用来检查并请求存储权限的。如果当前设备的 Android 版本大于5.0(LOLLIPOP),则会检查是否已经拥有写入外部存储的权限,如果没有则会弹出一个权限请求对话框,让用户授权。其中 PERMISSIONS_STORAGE 是一个字符串数组,存储了需要请求的权限,REQUEST_PERMISSION_CODE 是请求权限的请求码。在 onRequestPermissionsResult() 方法中可以处理用户是否授权的结果。
if (ContextCompat.checkSelfPermission(this, Manifest.permission.READ_CONTACTS) != PackageManager.PERMISSION_GRANTED) { // Permission is not granted // Request the permission ActivityCompat.requestPermissions(this, new String[] { Manifest.permission.READ_CONTACTS }, MY_PERMISSIONS_REQUEST_READ_CONTACTS);} else { // Permission has already been granted // Do the task}这里面的 this标红
如果你在非 Activity 或 Fragment 的类中使用上下文对象,`this` 会标红。解决这个问题的方法是将上下文对象传递给该类或使用适当的上下文。
在你提供的代码中,如果它不是在 Activity 或 Fragment 中,`this` 将无法识别当前上下文。你可以将上下文对象传递给该类,或使用适当的上下文对象,例如:
```java
public class MyContactsClass {
private Context context;
public MyContactsClass(Context context) {
this.context = context;
}
public void checkContactsPermission() {
if (ContextCompat.checkSelfPermission(context, Manifest.permission.READ_CONTACTS)
!= PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions((Activity) context,
new String[] { Manifest.permission.READ_CONTACTS },
MY_PERMISSIONS_REQUEST_READ_CONTACTS);
} else {
// Permission has already been granted
// Do the task
}
}
}
```
在上面的代码中,我们将上下文对象保存在 `context` 变量中,并在 `checkContactsPermission()` 方法中使用它来检查 `READ_CONTACTS` 权限。如果权限未授予,我们使用 `ActivityCompat.requestPermissions()` 方法请求该权限。如果权限已经授予,我们可以继续执行相应的任务。注意,在请求权限时,我们将上下文对象强制转换为 `Activity`,因为 `ActivityCompat.requestPermissions()` 方法需要一个 `Activity` 对象。
阅读全文