Ответ 1
Чтобы отобразиться в этом списке, вы должны изменить файл AndroidManifest.xml и добавить следующие строки под свою активность:
<intent-filter>
<action android:name="android.intent.action.SEND" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="text/plain" />
</intent-filter>
Это приведет к тому, что ваше приложение появится в списке. Теперь, я думаю, вы, возможно, также захотите узнать, как справиться с этим в своем коде. Когда другое приложение собирается поделиться с вами каким-то текстом, оно начнет ваше приложение с Android "Intent". Чтобы иметь возможность использовать Intents, вам нужен плагин PhoneGap. Я думаю, WebIntent может подойдет вам. Это будет код:
// deviceready is PhoneGap init event
document.addEventListener('deviceready', function () {
window.plugins.webintent.getExtra(WebIntent.EXTRA\_TEXT, function (url) {
// url is the value of EXTRA_TEXT
}, function() {
// There was no extra supplied.
});
});
Дополнительная информация о WebIntent здесь: http://smus.com/android-phonegap-plugins/
Примечание. Я не думаю, что вы сможете сделать это с помощью PhoneGap Build, хотя... вы можете использовать только поддерживаемые плагины и не можете сильно изменить файл AndroidManifest.xml. Вам, вероятно, придется идти по Кордове и строить все на своей машине.
Изменить: есть несколько человек, которые спрашивают, как это сделать на iOS. Для этого есть два шага:
- Свяжите ваше приложение с подходящими ассоциациями типов файлов, добавив соответствующую информацию в свой info.plist. Этот ответ SO объясняет, как это сделать: Как связать типы файлов с приложением iPhone?. Это заставит ваше приложение появиться в списке, но ваше приложение еще не получит данные.
- Теперь ваше приложение будет запущено с новыми параметрами. Теперь вы должны иметь возможность читать эти параметры. Проверьте этот вопрос/ответ на SO, он делает именно это: Как передать аргументы в приложение, основанное на Phonegap.