如何解决如何在 Adpater 中使用 OnActivityResult 和 startIntentSenderForResult
对于我的应用,我想创建一个删除函数,从 Android 11 开始,我们必须创建一个待处理的意图等...
我创建了我的 Intent 并显示了窗口,但现在我想使用 ActivityResult 但我不知道如何使用。我的功能在我的 Adpater 中:
private void deleteFile(int p,View view){
AlertDialog.Builder builder = new AlertDialog.Builder(context);
builder.setTitle("Supprimer ?").setMessage(videoFolder.get(p).getTitle()).setNegativeButton("Annuler",(dialog,which) -> {
}).setPositiveButton("Oui",which) -> {
ArrayList<Uri> fichiers = new ArrayList<>();
Uri contentUri = ContentUris.withAppendedId(MediaStore.Video.Media.EXTERNAL_CONTENT_URI,Long.parseLong(videoFolder.get(p).getId()));
File file = new File(videoFolder.get(p).getPath());
fichiers.add(contentUri);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
PendingIntent demande = MediaStore.createDeleteRequest(context.getContentResolver(),fichiers);
try {
((Activity) context).startIntentSenderForResult(demande.getIntentSender(),123,new Intent(),0);
} catch (IntentSender.SendIntentException e) {
e.printstacktrace();
}
}else{
boolean deleted = file.delete();
if (deleted){
context.getApplicationContext().getContentResolver().delete(contentUri,null,null);
videoFolder.remove(p);
notifyItemRemoved(p);
notifyItemRangeChanged(p,videoFolder.size());
Snackbar.make(view,"Fichier supprimé avec succès",Snackbar.LENGTH_SHORT).show();
}else{
Snackbar.make(view,"Erreur,le fichier n'a pas été supprimé",Snackbar.LENGTH_SHORT).show();
}
}
}).show();
}
And I tried to add this in my MainActivity class :
@Override
protected void onActivityResult(int requestCode,int resultCode,Intent data) {
super.onActivityResult(requestCode,resultCode,data);
}
但它不起作用... 我迷路了,如果有人可以帮助我!
我的代码:https://textup.fr/570657Bd
谢谢
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。