给Android软件添加网络访问权限以及存储权限 打开软件时检测是否有这两个权限如果没有向系统发出申请
要给Android软件添加网络访问权限和存储权限,需要在AndroidManifest.xml文件中进行相应的配置。以下是如何添加这两个权限并在软件启动时检测并申请权限的步骤:
- 在AndroidManifest.xml文件中添加以下权限声明:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
- 在你的MainActivity类中添加以下代码,在软件启动时检测权限:
private static final int PERMISSION_REQUEST_CODE = 1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 检查网络访问权限
if (ContextCompat.checkSelfPermission(this, Manifest.permission.INTERNET) != PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.INTERNET}, PERMISSION_REQUEST_CODE);
}
// 检查存储权限
if (ContextCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, PERMISSION_REQUEST_CODE);
}
}
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
if (requestCode == PERMISSION_REQUEST_CODE) {
if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
// 权限被授予
} else {
// 权限被拒绝
}
}
}
以上代码会在软件启动时检查是否有网络访问权限和存储权限,如果没有则向系统发出权限申请。在用户对权限申请做出响应后,会触发onRequestPermissionsResult方法,在该方法中处理权限授予或拒绝的逻辑。
请注意,从Android 6.0(API级别23)开始,用户需要在运行时授予敏感权限。因此,在AndroidManifest.xml中声明权限仅仅是一部分,还需要在运行时请求权限。

原文地址: https://www.cveoy.top/t/topic/jaDq 著作权归作者所有。请勿转载和采集!