Как вы можете поделиться местоположение, как WhatsApp в Android с диалогом выбора? - PullRequest
0 голосов
/ 30 мая 2018

Я хочу "поделиться местоположением" функциональность такая же, как whatsapp в моем текущем приложении.Here is a chooser dialog

Here is a share location screen

After selecting your location it displays like this

Теперь откроется диалоговое окно выбораЯ использовал приведенный ниже код.

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);
        }
    }

После этого открывается окно выбора кода, похожее на это.enter image description here

Теперь, как я могу добавить значок общего ресурса в это диалоговое окно выбора файлов и после выбора определенного местоположения и поделиться им с другим пользователем в приложении чата?

1 Ответ

0 голосов
/ 30 мая 2018

Попробуйте:

  1. У любого выбора нет всех типов действий (например, видео, местоположение, аудио, документ и т. Д.), Каждый выбор основан на одной категории.Так что для этого экрана выбора используйте Диалоговое окно Bottomsheet .Это так же, как диалог, он будет иметь пользовательский макет.просто сделайте один макет, такой же, как на экране, и накачайте его.
  2. Теперь внутри диалогового окна при щелчке местоположения откройте выбор мест Google.Он будет выглядеть так же, как и экран выбора местоположения.
  3. Для отображения местоположения используйте настраиваемый макет элемента в программе повторного просмотра.т. е. макет будет иметь линейный макет (вертикальный) -> вид изображения и два текстовых обзора с некоторыми отступами. Демонстрация Recyclerview .
...