android - 函数的用途是什么:setRequestPermisssionsResult?
问题描述
这是我的讲师给出的示例代码。我理解整个事情,除了有一个名为“setRequestPermisssionsResult”的函数的部分。我在代码中的任何地方都没有看到它,我想知道它是否有用。
该程序运行完美。
}
public void EnableRuntimePermission() {
ActivityCompat.requestPermissions(MainActivity.this, new String[]{Manifest.permission.INTERNET}, REQUEST_CODE);
}
public void setRequestPermisssionsResult(int requestCode, String permissions[], int[] grantResults) {
switch (requestCode) {
case REQUEST_CODE:
if (grantResults.length > 0 && (grantResults[0] == PackageManager.PERMISSION_GRANTED)) {
Toast.makeText(MainActivity.this, "Internet permission granted.", Toast.LENGTH_LONG).show();
} else {
Toast.makeText(MainActivity.this, "Internet permission not granted.", Toast.LENGTH_LONG).show();
}
break;
}
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
EnableRuntimePermission();
if (ActivityCompat.checkSelfPermission(getApplicationContext(), Manifest.permission.INTERNET)== PackageManager.PERMISSION_GRANTED){
Toast.makeText(getApplicationContext(),"Internet Permission Granted", Toast.LENGTH_LONG).show();
FetchData fetchData=new FetchData();
fetchData.execute("a18b978603316d47c572d98d52a420f6");
}
解决方案
如果根本没有调用该方法,则意味着它没有被使用。
无论如何,如今在 Android 中有两种请求权限的方法。来自 Android Manifest(不直接询问用户)和以编程方式来自 Java/Kotlin 代码的一个。这些是“更重要的”。在这种情况下,用户将看到一个对话框,用于访问他手机上的某些东西,可能是相机硬件或其他东西,他有权允许或拒绝。您的教授刚刚生成了一种将所有权限存储在那里的方法,这意味着他重构了在整个应用程序中请求权限的方式。
这是许可文件
推荐阅读
- reactjs - React redux - “超出最大更新深度”错误
- python-3.x - 通过将字典放在列表中来破坏我的代码。我究竟做错了什么?
- javascript - 使用 promise 模块连接 mongodb 时出错
- google-apps-script - 使用 Google Apps 脚本为 Google Docs 中表格单元格的第一行设置样式
- java - 尽管在 spring-boot-maven-plugin 中配置了排除,但日志依赖项仍包含在 lib 文件夹中
- oracle - Oracle 数据库 12c“压缩查询”选项
- ios - 在 iOS 的启动屏幕上显示两张图片
- objective-c - DTCoreText 没有这样的文件或目录 libDTCoreText.a
- java - 如何接收请求正文数据以及多部分图像文件?
- c# - 如何将不同面板中存在的单选按钮分组为一个组?