【发布时间】:2018-04-26 12:36:46
【问题描述】:
我想在单击按钮时选择一个 pdf 文件,然后在单击另一个按钮时将该文件发送到 url。我的问题是选择pdf文件。我在 "onActivityResult()" 方法中得到空值。
我的代码是
SelectButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent();
intent.setType("application/pdf");
intent.setAction(Intent.ACTION_GET_CONTENT);
startActivityForResult(Intent.createChooser(intent, "Select Pdf"), PDF_REQ_CODE);
}
});
ActivityResult 方法是
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == PDF_REQ_CODE && resultCode == RESULT_OK && data != null && data.getData() != null) {
uri = data.getData();;
SelectButton.setText("PDF is Selected");
}
}
但是当我尝试从 uri 获取文件路径时,我将 uri 设为 null 并得到空指针异常。
【问题讨论】:
-
你在android manifest中添加了权限吗?
-
增加读写存储权限
-
But I am getting uri as null你得到的不是 Uri,而是 Intent。Intent data。请重新表述你得到的内容。 -
and getting null pointer exception when trying to get file path from uri.你不应该尝试从 uris 获取路径。当 uri 为空时,当然不会。但是那个代码在哪里?