我有一个简单的活动,启动文件选择器,然后通过Android梁发送文件,如下所示:
@Override
protected void onActivityResult(int requestCode, int resultCode,
Intent data) {
if (requestCode==0 && resultCode==RESULT_OK) {
adapter.setBeamPushUris(new Uri[] {data.getData()}, this);
Button btn=new Button(this);
btn.setText("Done");
btn.setOnClickListener(this);
setContentView(btn);
}
}
Run Code Online (Sandbox Code Playgroud)
该活动能够正确地发送图像和.txt文件.但是,当我发送.json文件时,我得到"梁没有完成".
我认为这是因为,接收器上没有应用程序查看json文件,所以我创建了另一个版本来查看收到的txt文件.清单有
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="text/*" />
</intent-filter>
Run Code Online (Sandbox Code Playgroud)
当我将json文件的扩展名更改为.txt时,文件正确发送,接收应用程序启动.但是当我将扩展名更改回.json并将接收器的mimetype更改为"application/json"时,我仍然得到"Beam not not complete"消息.
有什么想法吗?
谢谢!
我试图通过以下方式使用intent从特定文件夹中选择一个图像:
private void selectPicture(){
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
Uri uri = Uri.parse(Environment.getExternalStorageDirectory().getPath() + "/Pictures/");
intent.setDataAndType(uri, "image/*");
startActivityForResult(intent, 1);
}
Run Code Online (Sandbox Code Playgroud)
图像选择器正确启动.但是,我看到所有图像(包括来自我指定目录的图像和来自手机上其他位置的图像)而不是仅来自指定目录的图像.
我很感激有关如何使其发挥作用的任何提示.
我将应用程序的图像移动到Pictures目录只是因为我无法在应用程序的私有externalFilesDir()中显示这些图像.如果您知道如何在应用程序的外部文件目录中使用此功能来处理图像,我也非常感谢.
谢谢!