Есть ли способ зарегистрировать приложение phonegap для отображения в меню приложений для обмена?Поделитесь чем-нибудь с приложением phonegap
ответ
Чтобы в этом списке, вы должны изменить файл 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's 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 построить хотя ... вы можете использовать только поддерживаемых плагинов, и не может сильно изменить файл AndroidManifest.xml. Вам, вероятно, придется идти по Кордове и строить все на своей машине.
Редактировать: есть несколько человек, которые спрашивают, как это сделать на iOS. Для этого есть два способа:
- Связать свое приложение с подходящими ассоциациями типов файлов, добавив соответствующую информацию в свой info.plist. Этот ответ SO объясняет, как это сделать: How do I associate file types with an iPhone application?. Это заставит ваше приложение появиться в списке, но ваше приложение пока не получит данные.
- Теперь ваше приложение будет запущено с новыми параметрами. Теперь вы должны иметь возможность читать эти параметры. Проверьте этот вопрос/ответ на SO, он делает именно то, что: How to pass arguments to app built on Phonegap
@ ericpeters0n - При использовании картинки приложений и совместного использования, где же этот список приложений приходят с тех пор? Например, когда я участвую в фотогалерее, и я разделяю ее, в список входят Message, Mail, Twitter, Facebook, Flickr. Как эти приложения регистрировались в этом списке?
Версии iOS до 8 должны были иметь такую функциональность, как бы проводную в них. Напротив, приложения для Android просто регистрируются для получения намерений совместного использования и автоматически добавляются в список (гораздо более умный дизайн IMHO :-) – Eno
Мне удалось получить URL-адрес файла для совместного использования; используя EXTRA_STREAM insted EXTRA_TEXT внутри deviceready, модифицируя Webintent.java и добавляя фильтр намерений в AndroidMenifest.xml.
Это как моя основная деятельность выглядит:
<activity android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale" android:label="@string/activity_name" android:launchMode="singleTop" android:name="MainActivity" android:theme="@android:style/Theme.Black.NoTitleBar" android:windowSoftInputMode="adjustResize">
<intent-filter android:label="@string/launcher_name">
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<intent-filter android:label="@string/app_name">
<data android:mimeType="*/*" />
<action android:name="android.intent.action.SEND" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
Я обнаружил, что плагина была ошибка для EXTRA_STREAM части, поэтому я изменил мой javafile в соответствии с этим:
https://github.com/Initsogar/cordova-webintent/issues/23
Также внутри моего js-файла я должен вызвать функцию следующим образом: (использование EXTRA_STREAM вместо EXTRA_TEXT)
window.plugins.webintent.getExtra(window.plugins.webintent.EXTRA_STREAM, function (url) {
// url is the value of EXTRA_STREAM
alert(url);
}, function() {
// There was no extra supplied.
alert("no url");
});
и я получаю URI файла.
Если у вас есть новый вопрос, пожалуйста, спросите его, нажав [Ask Question] (http: // stackoverflow.com/questions/ask). Включите ссылку на этот вопрос, если это поможет обеспечить контекст. – ryanyuyu
Я думал, что набрал и отвечу. Хотя я сожалею, если это было слишком запутанно, чтобы выглядеть как ответ (попробовал просто попросить его отредактировать) – Moinkhan
- 1. Поделитесь моим приложением для iPhone
- 2. Поделитесь видео с моим андроидным приложением
- 3. VB.NET Поделитесь панелью с другим приложением
- 4. Поделитесь приложением nodejs с различными сетями
- 5. Интеграция PayU с приложением PhoneGap
- 6. Поделитесь этим приложением для Android-приложения
- 7. junit - поделитесь приложением между тестовой таблицей
- 8. Поделитесь содержимым с конкретным приложением только с помощью UIActivityViewController
- 9. Поделитесь URL-адресом YouTube YouTube с моим приложением
- 10. Поделитесь ссылками с моим приложением, используя «Поделиться через» в Android
- 11. Использование Phonegap с веб-приложением для уведомлений
- 12. Android - Начало работы с приложением PhoneGap
- 13. Интеграция твиттерных цифр с приложением cordova/phonegap?
- 14. Использование опции AutoHideSplashScreen с приложением PhoneGap/Cordova
- 15. Android - Phonegap, отправьте SMS, электронная почта, поделитесь Facebook, Twitter
- 16. Обнаружение между мобильным браузером или приложением PhoneGap
- 17. Запустите собственное приложение с веб-приложением на PhoneGap
- 18. В Phonegap, HTML не изменяет размер с приложением, поворачивается
- 19. Как интегрировать родное приложение (Android) с PhoneGap приложением
- 20. AngularJS ng-submit не работает с приложением PhoneGap iOS
- 21. Поделитесь видео с телефона пользователя Objective C
- 22. Интеграция с гибридным приложением
- 23. Поделитесь фотографиями с другими приложениями
- 24. Экспресс: поделитесь сессией с websocket
- 25. Поделитесь с изображением на flickr
- 26. Поделитесь ссылкой с помощью UIActivityViewController
- 27. Поделитесь данными с детскими маршрутами
- 28. Поделитесь видео с кругами Google
- 29. Поделитесь сеансом Magento с CakePHP
- 30. Поделитесь текстом с Linkedin с использованием Intent
Похоже, что этот ответ был скопирован с веб-сайта престарелых webIntent ... Есть ли еще что? Я не получаю EXTRA_TEXT или URI через WebIntent по deviceready или возобновлению. – ericpeters0n
@ ericpeters0n Вы уверены, что плагин правильно установлен? Я никогда не делал то, что здесь задают с помощью PhoneGap, но с другими технологиями, и точно знаю, что если фильтр намерения написан как указано выше как дочерний элемент вашей активности, то ваша активность появится в списке и получит намерение. Если вы не получаете его с помощью WebIntent, это означает, что WebIntent установлен неправильно или не работает, либо WebIntent больше не работает с последними версиями Android (Kitkat?), Но у меня есть некоторые сомнения по поводу последнего ... принцип намерений не изменилось довольно долго ... –
Как это работает на iPhone? Вышеприведенный пример предназначен только для Android, и мне интересно узнать, как приложение можно аналогичным образом зарегистрировать на iPhone для совместного использования через приложение. –