Android 存储权限申请示例代码 - 如何在Android中请求外部存储权限
import android.Manifest; import android.content.pm.PackageManager; import android.os.Build; import android.os.Bundle; import android.widget.Toast; import androidx.annotation.NonNull; import androidx.appcompat.app.AppCompatActivity; import androidx.core.app.ActivityCompat; import androidx.core.content.ContextCompat; public class MainActivity extends AppCompatActivity { private static final int STORAGE_PERMISSION_CODE = 1; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // 检查是否已经获取了存储权限 if (ContextCompat.checkSelfPermission(MainActivity.this, Manifest.permission.WRITE_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED) { // 已经获取了权限,可以进行相关操作 Toast.makeText(MainActivity.this, "已经获取了存储权限", Toast.LENGTH_SHORT).show(); } else { // 未获取权限,申请权限 requestStoragePermission(); } } // 请求存储权限 private void requestStoragePermission() { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { ActivityCompat.requestPermissions(MainActivity.this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, STORAGE_PERMISSION_CODE); } } // 处理权限请求结果 @Override public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { super.onRequestPermissionsResult(requestCode, permissions, grantResults); if (requestCode == STORAGE_PERMISSION_CODE) { if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) { // 用户授予了存储权限 Toast.makeText(MainActivity.this, "已经获取了存储权限", Toast.LENGTH_SHORT).show(); } else { // 用户拒绝了存储权限 Toast.makeText(MainActivity.this, "未获取到存储权限", Toast.LENGTH_SHORT).show(); } } } } 这段代码应该放在Android工程文件的MainActivity.java文件中。可以将其替换MainActivity类中的代码,或者将其作为一个新的类添加到工程中。
原文地址: https://www.cveoy.top/t/topic/pOFM 著作权归作者所有。请勿转载和采集!