您如何使用选择器对话框在 android 中共享与 whatsapp 相同的位置?

how can you share location same like whatsapp in android with chooser dialog?

我想要 "share location" 功能与 whatsapp 在我当前的应用程序中。

现在我使用下面提到的代码打开选择器对话框。

public static void showFileChooser(Activity activity, Fragment fragment, boolean isAllowMultiple) {
        try {

            File imageStorageDir = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM), "demo");
            if (!imageStorageDir.exists()) {
                imageStorageDir.mkdirs();
            }
            File file = new File(imageStorageDir + File.separator + "i" + String.valueOf(System.currentTimeMillis()) + ".jpg");
            mCapturedImageURI = Uri.fromFile(file); // save to the private variable

            final Intent captureIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
            captureIntent.putExtra(MediaStore.EXTRA_OUTPUT, mCapturedImageURI);
            captureIntent.putExtra("capturedimageuri", mCapturedImageURI.toString());

            // Intent for Audio Recording
            final Intent audioRecordIntent = new Intent();
            audioRecordIntent.setAction(IxxxConstants.ACTION_AUDIO_RECORD);

            final Intent videoRecordIntent = new Intent();
            videoRecordIntent.setAction(IxxxConstants.ACTION_VIDEO_RECORD);

            // Use the GET_CONTENT intent from the utility class
            Intent target = com.xxx.xxx.filechooser.FileUtils.createGetContentIntent();
            if (isAllowMultiple) {
                target.putExtra(Intent.EXTRA_ALLOW_MULTIPLE, true);
            }
            // Create the chooser Intent


            if (activity != null) {
                Intent intent = Intent.createChooser(
                        target, activity.getString(R.string.chooser_title));

                intent.putExtra(Intent.EXTRA_INITIAL_INTENTS, new Intent[]{captureIntent, audioRecordIntent, videoRecordIntent});
                activity.startActivityForResult(intent, IMAGE_ANNOTATION_REQUEST_CODE);
            } else {
                Intent intent = Intent.createChooser(
                        target, fragment.getString(R.string.chooser_title));

                intent.putExtra(Intent.EXTRA_INITIAL_INTENTS, new Intent[]{captureIntent, audioRecordIntent, videoRecordIntent});
                fragment.startActivityForResult(intent, IMAGE_ANNOTATION_REQUEST_CODE);
            }

        } catch (ActivityNotFoundException e) {
            xxxLog.e(DEBUG_TAG, "Error:" + e);
        } catch (Exception ex) {
            ex.printStackTrace();
            CommonUtilities.showToast(activity, activity.getString(R.string.error_message), Toast.LENGTH_LONG);
        }
    }

此代码选择器打开后类似于这样。

现在如何将共享位置图标添加到此文件选择器对话框,并在选择特定位置后将其共享给聊天应用程序中的其他用户?

尝试:

  1. 任何选择器都不会包含所有类型的操作(即视频、位置、音频、文档等),每个选择器都基于一个类别。因此,对于此选择器屏幕,请使用 Bottomsheet dialog。它与将具有自定义布局的对话框相同。只需制作一个与屏幕相同的布局并在其中膨胀即可。
  2. 现在单击位置打开内部对话框 place picker of google。它看起来与您的位置选择器屏幕相同。
  3. 对于位置显示,请在 recyclerview 中使用自定义项目布局。即布局将具有线性布局(垂直)-> 图像视图和两个带有一些填充的文本视图。 Recyclerview demo.