В качестве примера того, что я пытаюсь сделать: когда я делюсь статьей из Pocket в Evernote, Pocket форматирует текст и отправляет всю статью в Evernote, тогда как когда я делюсь статьей с мое приложение, я просто получаю URL-адрес. Я знаю, что на стороне Кармана выполняется код, поскольку перед тем, как он делится, открывается диалоговое окно «Обработка».Получите конкретный контент через Share Intent в Android
Мой вопрос: знает ли Pocket о том, что он делится с Evernote и форматирует его вывод специально для Evernote, или Evernote каким-то образом регистрируется в качестве приложения для редактирования текста, и поэтому предлагает Pocket поделиться полной статьей, а не просто URL?
Если последний, как это делается? Должен ли я регистрировать свое приложение для получения типов mime, кроме text/plain
? Вот часть кода, который я использую в настоящее время для получения текста:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
rcvIntent = getIntent();
String rcvAction = rcvIntent.getAction();
String rcvType = rcvIntent.getType();
if (Intent.ACTION_SEND.equals(rcvAction) && "text/plain".equals(rcvType))
displaySentText(rcvIntent);
}
private void displaySentText (Intent rcvIntent) {
String sharedText = rcvIntent.getStringExtra(Intent.EXTRA_TEXT);
if (sharedText == null) return;
if (sharedText.startsWith("http://")) {
ConnectivityManager connMgr = (ConnectivityManager) getSystemService (Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = connMgr.getActiveNetworkInfo();
if (networkInfo != null && networkInfo.isConnected()) {
new DownloadWebpageText().execute(sharedText);
Заранее благодарен!
Edit:
отладчик не дает много информации. Когда я делюсь с Evernote, он показывает:
02-27 16:36:50.005: I/ActivityManager(2257): START u0 {act=android.intent.action.SEND typ=text/plain flg=0x80001 cmp=com.evernote/.note.composer.NewNoteAloneActivity (has clip) (has extras)} from pid 31094
И когда я разделяю мое приложение, я получаю очень похожее сообщение:
02-27 16:37:39.700: I/ActivityManager(2257): START u0 {act=android.intent.action.SEND typ=text/plain flg=0x80001 cmp=st.olm.readmemberalpha/.WebText (has clip) (has extras)} from pid 31094
Они оба текста/простые, но содержание отличается , Я также проверил содержимое клипа с (has clip)
выше, но содержимое такое же, как и дополнительное.