Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/232.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在选择器意图中添加删除按钮_Java_Android_Android Intent - Fatal编程技术网

Java 如何在选择器意图中添加删除按钮

Java 如何在选择器意图中添加删除按钮,java,android,android-intent,Java,Android,Android Intent,我有一个包含Imageview的活动,单击此图像视图时,此选择器开始在图像视图中设置图像。它工作正常,但我想将删除按钮添加到此选择器意图 例如,如果“活动”中的Imageview有一个图像,我想通过“删除”按钮从此选择器中删除该图像 这也是我为这个选择器编写的代码(这些代码是我活动的一部分): final List<Intent> cameraIntents = new ArrayList<Intent>(); final Intent captureInte

我有一个包含Imageview的活动,单击此图像视图时,此选择器开始在图像视图中设置图像。它工作正常,但我想将删除按钮添加到此选择器意图
例如,如果“活动”中的Imageview有一个图像,我想通过“删除”按钮从此选择器中删除该图像

这也是我为这个选择器编写的代码(这些代码是我活动的一部分):

 final List<Intent> cameraIntents = new ArrayList<Intent>();
    final Intent captureIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
    final PackageManager packageManager = getPackageManager();
    final List<ResolveInfo> listCam = packageManager.queryIntentActivities(captureIntent, 0);
    for (ResolveInfo res : listCam) {
        final String packageName = res.activityInfo.packageName;
        final Intent intent = new Intent(captureIntent);
        intent.setComponent(new ComponentName(res.activityInfo.packageName, res.activityInfo.name));
        intent.setPackage(packageName);
        intent.putExtra(MediaStore.EXTRA_OUTPUT, outputFileUri);
        cameraIntents.add(intent);
    }

    // Filesystem.
    final Intent galleryIntent = new Intent();
    galleryIntent.setType("image/*");
    galleryIntent.setAction(Intent.ACTION_GET_CONTENT);

    // Chooser of filesystem options.
    final Intent chooserIntent = Intent.createChooser(galleryIntent, getString(R.string.select_source));

    // Add the camera options.
    chooserIntent.putExtra(Intent.EXTRA_INITIAL_INTENTS, cameraIntents.toArray(new Parcelable[cameraIntents.size()]));
    chooserIntent.putExtra(Intent.EXTRA_DATA_REMOVED,del);
    startActivityForResult(chooserIntent, 12312);
final List cameraIntents=new ArrayList();
最终意图捕获意图=新意图(android.provider.MediaStore.ACTION\u IMAGE\u CAPTURE);
最终PackageManager PackageManager=getPackageManager();
最终列表listCam=packageManager.QueryInputActivities(captureIntent,0);
用于(ResolveInfo res:listCam){
最后一个字符串packageName=res.activityInfo.packageName;
最终意图=新意图(captureIntent);
setComponent(新组件名(res.activityInfo.packageName,res.activityInfo.name));
intent.setPackage(packageName);
intent.putExtra(MediaStore.EXTRA\u输出,outputFileUri);
添加(意图);
}
//文件系统。
最终意图GalleryContent=新意图();
GalleryContent.setType(“image/*”);
GalleryContent.setAction(Intent.ACTION\u GET\u CONTENT);
//选择文件系统选项。
最终意图选择器content=Intent.createChooser(GalleryContent,getString(R.string.select_source));
//添加相机选项。
选择content.putExtra(Intent.EXTRA\u INITIAL\u INTENTS,cameraIntents.toArray(新包裹[cameraIntents.size()]);
选择Intent.putExtra(Intent.EXTRA\u数据已删除,删除);
startActivityForResult(选择内容,12312);

请您帮助我在此选择器中添加一个删除按钮,以便从imageview中删除图像?

我想您不能。我建议的一种方法是,首先在用户点击时向用户询问摄像头、图库和删除选项,当用户点击摄像头/图库选项时,然后显示这些可以处理该目的的应用程序。您不能这样做,因为它有错误的逻辑,没有API或函数支持您发送命令从“图库”中删除图像,而要删除图像,您应该获取图像的uri(或真实路径),然后您可以使用File.delete()或uri删除本地/外部存储器中的任何文件,或者您可以通过调用上下文通过uri从上面的注释中删除任何媒体文件。getContentResolver().delete(uri,null,null)@VivekMishra但是whatsApp怎么能做到这一点呢?我在这里发布了一个帮助我实现这一目标的指南。我想你做不到。我建议的一种方法是,首先在用户点击时向用户询问摄像头、图库和删除选项,当用户点击摄像头/图库选项时,然后显示这些可以处理该目的的应用程序。您不能这样做,因为它有错误的逻辑,没有API或函数支持您发送命令从“图库”中删除图像,而要删除图像,您应该获取图像的uri(或真实路径),然后您可以使用File.delete()或uri删除本地/外部存储器中的任何文件,或者您可以通过调用上下文通过uri从上面的注释中删除任何媒体文件。getContentResolver().delete(uri,null,null)@VivekMishra但是whatsApp怎么能做到这一点呢?我在这里发布了一个帮助我实现这一目标的指南。