Esiste un modo per registrare un'app di PhoneGap nel menu delle applicazioni da condividere?Condividi qualcosa su un'app per PhoneGap
risposta
Per apparire in questa lista è necessario modificare il file AndroidManifest.xml e aggiungere le seguenti righe sotto la vostra attività:
<intent-filter>
<action android:name="android.intent.action.SEND" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="text/plain" />
</intent-filter>
Questo renderà la vostra app apparirà nella lista. Ora penso che potresti anche voler sapere come gestirlo nel tuo codice. Quando un'altra applicazione sta per condividere del testo con te, inizierà la tua applicazione con un "Intento" di Android. Per poter utilizzare Intents, è necessario un plug-in PhoneGap. Penso che WebIntent potrebbe adattarsi a te. Questo sarebbe il codice:
// 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.
});
});
Maggiori informazioni WebIntent qui: http://smus.com/android-phonegap-plugins/
Nota: Non credo che sarete in grado di fare questo con PhoneGap Costruire però ... è possibile utilizzare solo plugin supportati e non è possibile modificare tanto il file AndroidManifest.xml. Probabilmente dovrai percorrere la strada Cordova e costruire tutto sulla tua macchina.
Modifica: ci sono alcune persone che chiedono come farlo su iOS. Esistono due passaggi per eseguire questa operazione:
- Associare la tua app con le giuste associazioni di tipi di file aggiungendo le informazioni rilevanti nel tuo info.plist. Questa risposta SO spiega come farlo: How do I associate file types with an iPhone application?. Questo farà apparire la tua app nell'elenco ma la tua app non riceverà ancora i dati.
- L'applicazione verrà ora avviata con nuovi parametri. Ora devi essere in grado di leggere questi parametri. Selezionare questa domanda/risposta su SO, lo fa esattamente questo: How to pass arguments to app built on Phonegap
@ ericpeters0n - Quando si utilizzano applicazioni per iPhone e la condivisione, da dove viene questa lista di applicazioni provengono da allora? Ad esempio, quando sono nella Raccolta foto e condivido, l'elenco include Messaggio, Posta, Twitter, Facebook, Flickr. In che modo queste app si sono registrate per comparire in questo elenco?
Versioni di iOS precedenti a 8 doveva avere questa funzionalità un po 'cablata in loro. Al contrario, le app Android si registrano semplicemente per ricevere l'intento di condivisione e vengono automaticamente aggiunte alla lista (un design più intelligente IMHO :-) – Eno
Sono riuscito a ottenere l'URL del file da condividere; usando EXTRA_STREAM insted di EXTRA_TEXT all'interno di deviceready, modificando Webintent.java e aggiungendo un filtro intent in AndroidMenifest.xml.
Ecco come la mia attività principale appare:
<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>
ho scoperto che il plugin ha un bug per la parte EXTRA_STREAM, così ho modificato il mio javafile in base a questo:
https://github.com/Initsogar/cordova-webintent/issues/23
anche all'interno del mio file js, devo chiamare la funzione in questo modo: (uso di EXTRA_STREAM invece di 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");
});
e ottengo l'URI del file.
Se hai una nuova domanda, per favore chiedi facendo clic su [Ask Question] (http: // stackoverflow.com/questions/ask). Includere un collegamento a questa domanda se aiuta a fornire il contesto. – ryanyuyu
Pensavo di aver digitato e risposto ... anche se mi dispiace se era troppo confusionario per sembrare una risposta (ho provato a farlo semplicemente digitando la modifica) – Moinkhan
- 1. Condividi su Facebook/Twitter/Funzione e-mail utilizzando PhoneGap/jQueryMobile
- 2. Personalizza campo messaggio su Facebook Condividi
- 3. Condividi su Facebook e Twitter per il Web mobile
- 4. Versione definitiva dell'esercitazione su PhoneGap per Android
- 5. PhoneGap - Impossibile scrivere su file per Android
- 6. Condividi contenuti su Facebook dall'app iOS 5
- 7. Livello batteria su PhoneGap
- 8. Condividi immagine e testo su Facebook su Android
- 9. Mount Qnap NFS Condividi su Linux OS
- 10. sessioni jquerymobile per phonegap
- 11. Pulsante Mi piace e condividi su Facebook su ajax
- 12. Progetto PhoneGap su cloud9 IDE
- 13. PhoneGap localStorage salva su iCloud?
- 14. Considerazioni su Rhomobile e PhoneGap
- 15. Facebook Condividi link - javascript
- 16. LocalStorage non funziona su PhoneGap
- 17. getUserMedia() shim per PhoneGap/Cordova?
- 18. Errore PhoneGap su Android GetPTLAFormat
- 19. Condividi sessione su più domini sullo stesso server
- 20. Zoccoli per UDP Phonegap?
- 21. LinkedIn JS API Condividi
- 22. Condividi collegamento tramite whatsapp
- 23. Laravel 5, Visualizza :: Condividi
- 24. Condividi generica tra tratti
- 25. Condividi elenco di estensioni installate su Visual Studio 2010
- 26. Condividi solo l'opzione Bluetooth con
- 27. installare il mio ambiente PhoneGap per Android su Windows
- 28. PhoneGap su iOS è codificato per caricare www/index.html?
- 29. PhoneGap - Approccio per l'autenticazione su un sito Web remoto?
- 30. Sono tutte quelle autorizzazioni necessarie per PhoneGap su Android?
Sembra che questa risposta sia stata copiata dal sito Web del plug-in WebIntent invecchiato ... C'è dell'altro? Non sto ricevendo EXTRA_TEXT o URI tramite WebIntent su deviceready o resume. – ericpeters0n
@ ericpeters0n sei sicuro che il plugin sia installato correttamente? Non ho mai fatto ciò che viene chiesto qui con PhoneGap ma con altre tecnologie, e so per certo che se il filtro intent è scritto come sopra come figlio della tua attività, allora l'attività verrà visualizzata nell'elenco e riceverà l'intento. Se non lo si ottiene con WebIntent che indica che WebIntent non è installato/in esecuzione correttamente, WebIntent non funziona più con versioni recenti di Android (Kitkat?), Ma ho qualche dubbio su quest'ultimo ... il principio di intenti non è cambiato da un po 'di tempo ... –
Come funzionerebbe su iPhone? L'esempio sopra riportato è solo per Android, e sono interessato a sapere in che modo un'app può essere registrata in modo simile su iPhone per la condivisione tramite l'app. –