Как я могу обработать запрос диалога «поделиться через» из другого приложения? - PullRequest
3 голосов
/ 22 февраля 2011

Я добавил фильтр намерений в ApplicationManifest.xml, чтобы перевести мое приложение в диалог «Поделиться через»:

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

Как мне обработать запрос из другого приложения.

1 Можно ли провести различие между прямым запуском приложения и началом совместного использования?

2 Как получить доступ к обмену данными?

Ответы [ 2 ]

4 голосов
/ 22 февраля 2011

В onCreate вы можете вызвать getIntent () , чтобы узнать, есть ли какие-либо данные в комплекте.Используйте метод getData () для получения Uri или одного из методов get ... Extra для получения любых других ожидаемых данных.

void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.id.main);
    ...
    Intent i = getIntent();
    Uri data = i.getUri(); 
    if(data != null) {
    // do something interesting
    }
    /* or */
    String text = i.getStringExtra(Intent.EXTRA_TEXT);
    / * do something interesting with the text */
}
0 голосов
/ 22 февраля 2011

относительно вопроса 1: в случае прямого запуска приложения намеренное действие не будет ОТПРАВЛЕНО.

для вопроса 2 см. Мой комментарий.

...