Domanda:
Come aggiungere contatti utilizzando adb senza l'interazione dell'utente?
drZaius
2016-01-22 21:14:16 UTC
view on stackexchange narkive permalink

Seguendo questo ho scoperto come aggiungere un contatto utilizzando adb . L'unica cosa che mi infastidisce è che l'utente deve accettare / annullare l'azione, perché sullo schermo appare una finestra di dialogo per la creazione del contatto. Quello che voglio è che il comando aggiunga automaticamente il contatto senza attendere l'approvazione dell'utente. Ho già esaminato questo, ma non sono riuscito a trovare un modo. Qualcuno sa come farlo?

La tua versione e il tuo dispositivo Android? È radicato?
Ho diversi dispositivi disponibili: Nexus 5, 6.0, rooted; Samsung Note 10.1 (GT-N8010), 4.4.2, con root; Nexus S, 4.1.2, radicato; Sony Xperia Tipo ST21i, 4.0.4, radicato. Anche se sono principalmente interessato ad aggiungere contatti su Note, Nexus S e Sony
Due risposte:
Bo Lawson
2016-01-23 01:00:17 UTC
view on stackexchange narkive permalink

Per il tuo dispositivo Android 4.4.2 il comando per aggiungere un contatto è (sostituisci Bo Lawson e # 123 .. a quello che vuoi):

  adb shell am start -a android .intent.action.INSERT -t vnd.android.cursor.dir / contact -e nome 'Bo Lawson' -e telefono 123456789  

Ora per scaricarlo per salvare. Questo è specifico per Android 4.4.2. Premendo Indietro lo salverà. Per questo è necessario utilizzare eventi chiave. Con Android 4.4.2 è l'evento chiave 4. Dovrai farlo almeno due volte. Una volta per uscire dalla tastiera, l'altra per uscire e salvare. Se necessario, usalo di nuovo per uscire completamente dall'app Contatti.

 adb shell am start -a android.intent.action.INSERT -t vnd.android.cursor.dir / contact -e name 'Bo Lawson' -e telefono 123456789adb shell input keyevent 4adb shell input keyevent 4 

Ha funzionato sul mio Samsung Galaxy Tab Pro con root con Android 4.4.2.

Modifica: ho trovato un post su Stack Overflow che fa riferimento a questo comando.

Bella soluzione alternativa! Funziona davvero!
In realtà ha funzionato anche per gli altri dispositivi. Peccato che non ho trovato il post che hai citato ... Sai se c'è una sorta di elenco di tutti gli input o eventi chiave?
Per la versione Android corrente e se le versioni precedenti non sono state modificate. Il sito degli sviluppatori di Google ti fornirà molte informazioni. http://developer.android.com/reference/android/view/KeyEvent.html Per tutto poi il noioso compito di leggere il codice sorgente. Ricerca semplificata SO, AE, singoli blog e articoli. http://stackoverflow.com/questions/7789826/adb-shell-input-events
Jorge Alberto Díaz Orozco
2016-01-22 22:40:06 UTC
view on stackexchange narkive permalink

Penso che non ci sia un modo diretto per farlo. Ti consiglio di creare una semplice app per inserire un contatto o un elenco di contatti e quindi utilizzarlo con adb. Puoi trovare un esempio qui http://www.codeproject.com/Articles/578823/Android-Contact-Operations-Insert-Search-Delete

Sembrerebbe poco interessante, ma puoi considerare di saltare la domanda dalla risposta se pensi che qualcosa non possa essere fatto, a meno che tu non spieghi tecnicamente e in dettaglio il motivo di ciò. Dato che questo sito è per gli utenti finali di Android (leggi: non ci aspettiamo che gli utenti abbiano alcuna conoscenza della programmazione di un'app), la raccomandazione che hai fatto non gli sarà utile. :)
Grazie per il suggerimento, ma non volevo usare un'app per questo.


Questa domanda e risposta è stata tradotta automaticamente dalla lingua inglese. Il contenuto originale è disponibile su stackexchange, che ringraziamo per la licenza cc by-sa 3.0 con cui è distribuito.
Loading...