如何在adpater中将onactivityresult与startintentsenderforresult一起使用

t8e9dugd  于 2021-09-13  发布在  Java
关注(0)|答案(0)|浏览(248)

对于我的应用程序,我想创建一个删除功能,由于android 11,我们必须创建一个挂起的意图等。。。
我创建了我的意图和windows显示,但现在我想使用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", (dialog, 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,0,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
谢谢

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题