Sviluppo un'applicazione Android che richiede all'applicazione di calendario di modificare gli eventi.: il risultatoCodice di onActivityResult è sempre 0
Io uso startActivityForResult()
per aprire il calendario. Dopo aver modificato e salvato l'evento, resultCode
è sempre 0 all'interno di onActivityResult()
.
Ho visto molte risposte relative a "onActivityResult resultCode restituisce sempre 0". Questo a causa del mancato utilizzo di setResult()
e finish()
nella 2a attività.
Ma nel mio caso, sto chiamando l'applicazione calendario Android (non un'attività personalizzata).
Il codice per richiedere il calendario Android:
Intent intent = new Intent(Intent.ACTION_EDIT);
intent.setType("vnd.android.cursor.item/event");
//set the event details
startActivityForResult(intent,1);
per innescare quando calendario viene salvato o annullato
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
//resultCode always returns 0.
switch(requestCode) {
case 1:
if (resultCode == Activity.RESULT_OK)
{
}
}
}
Se faccio clic su "Salva" o "Annulla" in app calendario, il resultCode
restituisce sempre 0.
Inoltre, ho bisogno di recuperare i dati dall'intento del calendario. Ma l'intento "dati" in onActivityResult restituisce anche null.
Qualcuno potrebbe spiegare perché succede? C'è un modo per sapere se l'utente fa clic su "Salva" o "Annulla"?
è il calendario progettato per restituire un valore? in caso contrario restituirà sempre uno 0. – TomTsagk
Non penso che Android (Google) Calendar restituirà alcun risultato, almeno non è specificato in [Calendar Provider] (http://developer.android.com/guide/topics/ fornitori/calendario-provider.html). –
Se è così, il provider di calendario Android fornisce metodi per sapere se il clic dell'utente salva il calendario o Annulla? – Sam35