Java 如何在选择器意图中添加删除按钮
我有一个包含Imageview的活动,单击此图像视图时,此选择器开始在图像视图中设置图像。它工作正常,但我想将删除按钮添加到此选择器意图Java 如何在选择器意图中添加删除按钮,java,android,android-intent,Java,Android,Android Intent,我有一个包含Imageview的活动,单击此图像视图时,此选择器开始在图像视图中设置图像。它工作正常,但我想将删除按钮添加到此选择器意图 例如,如果“活动”中的Imageview有一个图像,我想通过“删除”按钮从此选择器中删除该图像 这也是我为这个选择器编写的代码(这些代码是我活动的一部分): final List<Intent> cameraIntents = new ArrayList<Intent>(); final Intent captureInte
例如,如果“活动”中的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怎么能做到这一点呢?我在这里发布了一个帮助我实现这一目标的指南。