2017-02-08 3 views
0

Я добавляю функцию общего доступа в приложении. Ниже мой код:Android: Intent createChooser не работает должным образом

public static void shareData(String title, String message, Uri imageUri, Activity activity) { 
    try { 
     Intent sendIntent = new Intent(Intent.ACTION_SEND); 
     sendIntent.putExtra(Intent.EXTRA_TITLE, title); 
     sendIntent.putExtra(Intent.EXTRA_SUBJECT, message); 
     if (imageUri != null) { 
      Logger.errorMessage(ShareUtil.class.getSimpleName(), "share if"); 
      sendIntent.putExtra(Intent.EXTRA_STREAM, imageUri); 
      sendIntent.setType("image/*"); 
     } else { 
      Logger.errorMessage(ShareUtil.class.getSimpleName(), "share else"); 
      sendIntent.setType("text/plain"); 
     } 
     activity.startActivity(Intent.createChooser(sendIntent, "Share using")); 
    } catch (Exception e) { 
     e.printStackTrace(); 
     Toast.makeText(activity, "No App found to share", Toast.LENGTH_LONG).show(); 
    } 
} 

Это показывает список приложений, но когда я выбираю любое приложение, заголовок и сообщение не отправляется. Я не понимаю, что я делаю неправильно.

ответ

1

Intent.EXTRA_SUBJECT в основном используется в электронной почте. Попробуйте заменить его Intent.EXTRA_TEXT. Это работает в большинстве приложений.

+0

Привет, у меня есть один запрос. Мне нужно поделиться данными вместе с изображением. Как вы видели в моем коде выше, я передаю изображение uri. Изображение загружается из URL-адреса. Поэтому, чтобы сделать это, я должен сначала загрузить изображение. Есть ли другая альтернатива? – Nitish

+0

Извините, я не думаю, что есть лучший способ. – shhp

Смежные вопросы