当前位置: 首页 > 知识库问答 >
问题:

如何在AndroidAPP中获得权限?

暨高洁
2023-03-14
<uses-permission android:name="android.permissions.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permissions.READ_EXTERNAL_STORAGE" />
saveTestButton.setOnClickListener(new View.OnClickListener() {

        public void onClick(View v) {

                InputStream in = null;
                FileOutputStream fout = null;
                try {
                    in = getResources().openRawResource(R.raw.testsound);
                    String downloadsDirectoryPath = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS).getAbsolutePath();
                    String filename = "testsound.mp3";
                    fout = new FileOutputStream(new File(downloadsDirectoryPath + filename));

                    final byte data[] = new byte[1024];
                    int count;
                    while ((count = in.read(data, 0, 1024)) != -1) {
                        fout.write(data, 0, count);
                    }
                } catch (FileNotFoundException e) {
                    e.printStackTrace();
                } catch (IOException e) {
                    e.printStackTrace();
                } finally {
                    if (in != null) {
                        try {
                            in.close();
                        } catch (IOException e) {
                            e.printStackTrace();
                        }
                    }
                    if (fout != null) {
                        try {
                            fout.close();
                        } catch (IOException e) {
                            e.printStackTrace();
                        }
                    }
                }
        }

    });
private static final int REQUEST_EXTERNAL_STORAGE = 1;
    private static String[] PERMISSIONS_STORAGE = {
            Manifest.permission.READ_EXTERNAL_STORAGE,
            Manifest.permission.WRITE_EXTERNAL_STORAGE
    };
public static void verifyStoragePermissions(Activity activity) {
    // Check if we have write permission
    int permission = ActivityCompat.checkSelfPermission(activity, Manifest.permission.WRITE_EXTERNAL_STORAGE);

    if (permission != PackageManager.PERMISSION_GRANTED) {
        // We don't have permission so prompt the user
        ActivityCompat.requestPermissions(
                activity,
                PERMISSIONS_STORAGE,
                REQUEST_EXTERNAL_STORAGE
        );
    }
}

怎么啦?

共有1个答案

公良天逸
2023-03-14

我相信这就是你的问题:

fout = new FileOutputStream(new File(downloadsDirectoryPath + filename));

请改用以下内容:

fout = new FileOutputStream(new File(downloadsDirectoryPath , filename));

您只有/storage/emulated/0/download/testsound.mp3的权限,而没有/storage/emulated/0/downloadtestsound.mp3的权限

 类似资料:
  • 问题内容: 我想检索用户的所有权限作为权限ID的列表,但是: 给我权限名称列表。怎么做? 问题答案: 关键是获取这样的权限对象: 在这里您可以像这样访问属性: 如果您想要该列表,请执行以下操作: 希望能帮助到你!

  • 问题内容: 我正在使用Windows 10,Python 3.5和tensorflow 1.1.0。我有以下脚本: 我得到错误: 问题答案: 如果您写: 然后不是图层,而是图层的输出。该层是 所以看来您的意思是: 这是完整的代码段:

  • 问题内容: 我正在处理高度不平衡的数据集,我的想法是从我的 libSVM 模型中获取特征权重的值。到目前为止,我对线性内核还可以,我可以在其中获得特征权重,但是当我使用或时,我无法达到目标。 在这里,我正在使用我的模型,并且可以使用轻松获得线性核的特征权重。谁能帮助我可以做同样的事情还是?到目前为止,我已尝试执行以下操作: 问题答案: 正如文档中所述,这不仅是不可能的: 权重分配给特征(原始问题的

  • 在我的应用程序中,我创建了一个类名untitility。在这个类名中,我从代码中获取read_external_storage的权限。但问题是,当我在应用程序上单击“拒绝”时,我找不到警报通知来再次设置“允许”。一开始我就有“不再问”的选项。一旦我点击它,对话框就会消失。现在运行应用程序后,如果我点击拒绝,我再也找不到对话框消息,使它再次允许。我如何修改我的代码,以显示这个消息每次。 我的另一个类

  • 获取访问攻击是网络渗透测试的第二部分。 在本节中,我们将连接到网络,这将使我们能够发起更强大的攻击并获得更准确的信息。 如果网络不使用加密,我们可以连接到它并嗅出未加密的数据。 如果网络是有线的,我们可以使用电缆并连接到它,可能通过更改我们的MAC地址。唯一的问题是攻击目标使用加密,如WEP,WPA,WPA2。 如果我们确实遇到加密数据,我们需要知道解密它的密钥,这在本章将会学习和实践。 如果网络

  • 问题内容: 我正在开发一个具有基于Flex的前端和Spring / Hibernate后端的应用程序。 要使Facebook集成以目前的方式运行,我需要阅读后端前端javascript中设置的cookie,并在登录期间进行一些验证,以查看用户是否尝试欺骗其Facebook。登录。 这将非常容易,但是我不知道如何获取HttpServletRequest。我正在使用一个非常基本的Spring配置(这是