Problema al obtener datos desde EXTRA_TEXT [cerrada]

En la empresa de diseño para la que trabajo tratamos de crear una aplicacion de mensajería privada la cual nos permita compartir diversas URL desde diferentes aplicaciones советы Комо sociales, de manera tal que al compartirla se agregue en el cuerpo del mensaje, параграф esto usamos diversos поглощенный фильтр para cada aplicacion deseada y tratamos de obtener dicha URL алгоритм través de un intent parecido esto:

  Bundle ext = getIntent().getExtras()
  String URLX = ext.getString(Intent.EXTRA_TEXT)

Mientras que tengo definido en el AndroidManifest.xml el intent-filter :

        <intent-filter>
            <action android:name="android.intent.action.SEND" />
            <category android:name="android.intent.category.DEFAULT" />
            <data
                android:mimeType="text/plain" />
        </intent-filter>

Советы Nos encontramos en la duda de saber si este es el modo correcto de obtener dicha URL o imagen en el caso de algunas sociales, намерение/строка y de que manera se puede aplicar dicho para que complete de manera automática Эль-Кампо EditText del cuerpo de mensaje una vez compartida. Espero haber podido explicarme de manera correcta y entendible.

Edito:

Estamos tratando de agregar la URL obtenida atravez del siguiente codigo:

      Bundle extras = getIntent().getExtras();
    String URL = extras.getString(Intent.EXTRA_TEXT);
          et1.setText(URL);

Pero la aplicacion никакой esta dando Лос resultados buscados

1
задан 18.11.2016, 17:57
3 ответа

FГ-jate, если с этим ты podГ©s ориентировать: https://developer.android.com/training/sharing/receive.html#handling-content Недавно нуждался в чем-то похожем и там очень хорошо объяснен

0
ответ дан 24.11.2019, 12:31
  • 1
    Спасибо Франко, но уже проверяется documentació n чиновник, но мы не добиваемся желанных результатов. Привет – Mariano Martin 18.11.2016, 18:14
  • 2
    Те recomendarí чтобы скроллировать logcat, если приложение не открывается (alt+6), обрати внимание, если довольно аккуратный код, и если ты объявил правильно все. – Franco Galuzzi 18.11.2016, 19:02

Он получается посредством:

  String textoRecibido = intent.getStringExtra(Intent.EXTRA_TEXT);

то, что ты определяешь, является фильтром для того, чтобы тип содержимого в этом случае text/plain смог быть открытым из-за тебя aplicaciГіn:

<intent-filter>
        <action android:name="android.intent.action.SEND" />
        <category android:name="android.intent.category.DEFAULT" />
        <data
            android:mimeType="text/plain" />
    </intent-filter>

В этом случае, когда realicГ© отправление электронной почты посредством Intent.createChooser () ты aplicaciГіn aparecerГ - в в списке приложений, которые могут манипулировать этим типом содержимого.

Восток - пример отправления электронной почты:

  String[] TO = {""}; //Direcciones email  a enviar.
  String[] CC = {""}; //Direcciones email con copia.

  Intent emailIntent = new Intent(Intent.ACTION_SEND);

  emailIntent.setData(Uri.parse("mailto:"));
  emailIntent.setType("text/plain");
  emailIntent.putExtra(Intent.EXTRA_EMAIL, TO);
  emailIntent.putExtra(Intent.EXTRA_CC, CC);
  emailIntent.putExtra(Intent.EXTRA_SUBJECT, "Tu Asunto...");
  emailIntent.putExtra(Intent.EXTRA_TEXT, "tuemail@email.com"); // * configurar email aquí!

  try {
     startActivity(Intent.createChooser(emailIntent, "Enviar email."));        
     Log.i("EMAIL", "Enviando email...");
  }
  catch (android.content.ActivityNotFoundException e) {
     Toast.makeText(this, "NO existe ningún cliente de email instalado!.", Toast.LENGTH_SHORT).show();
  }

, Когда ты реализуешь отправление, aparecerГ - в экран, где ты можешь реализовывать ее selecciГіn клиента для envГ - или электронной почты, включенный aplicaciГіn, так как у него есть определенный intent-filter, чтобы реализовывать эту acciГіn для этого типа содержимого (text/plain).

introducir la descripción de la imagen aquí

Проверяет ее documentaciГіn "Получать данные о других приложениях" (inglГ©s)

0
ответ дан 24.11.2019, 12:31
  • 1
    Спасибо за ответ Elenasys, но вот то, что я ищу, в этом случае он не состоит в том, чтобы посылать informació n, а получать ее, и мы беспокоимся из-за того, что не можем этого добиваться. Мы не находим способ уже он делает dí схвати, и мы не умеем прибегать более где – Mariano Martin 18.11.2016, 18:04
  • 2
    Я хотел бы добавить, что documentació n уже мы проверяем ее несколько раз и равный мы не находим mé совсем правильный, с có я говорю, что я добавил у подножия моего вопроса, приложение не открывается в ningú n момент, дай ошибку, попробовав инициализироваться, привет – Mariano Martin 18.11.2016, 18:12
  • 3
    То, что они желают, состоит в том, чтобы посылать информацию (url) aplicació n в другую? – Jorgesys♦ 18.11.2016, 18:27
  • 4
    Точно, пример был бы после того, как имел бы e-mail с приложения Gmail, наше приложение появляется в списке, без линий, добавленных к activity, выбрав ее, открой наше приложение только, которого у него нет funció n, добавив линии для того, чтобы вышеупомянутый текст был переписан в поле EditText, приложение прямо не выполняет, какая-то идея, состоящая в том, что нам не хватает? – Mariano Martin 18.11.2016, 18:32

Решенный, я оставляю cГіdigo, если кто-то нуждается в этом в будущее

    Intent receivedIntent = getIntent();
    String receivedAction = receivedIntent.getAction();
    String receivedType = receivedIntent.getType();
    //make sure it's an action and type we can handle
    if(receivedAction.equals(Intent.ACTION_SEND)){

    }
    else if (receivedAction.equals(Intent.ACTION_MAIN)){

    }

    String receivedText = receivedIntent.getStringExtra(Intent.EXTRA_TEXT);
    //check we have a string
    if (receivedText != null) {
        //set the text
        et1.setText(receivedText);
    }
0
ответ дан 24.11.2019, 12:31