2015-07-22 10 views
10

Io sono Xamarin sviluppatore e ho studiato questo: https://developers.google.com/android/reference/com/google/android/gms/location/SettingsApiQual è il valore di REQUEST_CHECK_SETTINGS?

voglio chiamare il metodo "startResolutionForResult", ma per farlo ho bisogno di conoscere il valore di REQUEST_CHECK_SETTINGS. In Xamarin GPS Api, il secondo argomento di questo metodo è solo un numero intero.

Può sembrare una domanda stupida, ma il valore non è documentato e non v'è solo una pagina nella documentazione Android che si riferisce ad esso: https://www.google.nl/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#q=site:developers.google.com+REQUEST_CHECK_SETTINGS&filter=0

risposta

22

Santa merda, dopo una lunga ricerca ho trovato il campione ufficiale di Google , che definisce questa costante su 0x1.

protected static final int REQUEST_CHECK_SETTINGS = 0x1; 

il campione e la costante in questione can be found on GitHub.

Sembra che questo valore sia solo un int come quando si utilizza StartActivityForResult() per assicurarsi che stiamo tornando da qualcosa che abbiamo richiesto.

+1

E' 'solo un int' _tranne_ che se vi capita di scegliere un valore negativo Android la finestra di dialogo di sistema non verrà mostrata quando si chiama 'startActivityForResult()' e tutto quello che si ottiene è un messaggio criptico nel registro di sistema che parla di come il chiamante non può essere trovato e chiede se hai passato un valore negativo. Quindi, tecnicamente parlando, è un intero _positivo se vuoi che funzioni effettivamente. – aroth

0

REQUEST_CHECK_SETTINGS non ha un valore particolare e non è una costante. È il codice di richiesta utilizzato per il suo riferimento nella funzione di callback onActivityResult(int requestCode, int resultCode, Intent data)

Poiché questa funzione viene richiamata anche in altre occasioni, il codice di richiesta viene utilizzato per identificare l'attività che è stata denominata e fare ciò che è necessario. Inserisci un numero intero univoco per distinguerlo unicamente nell'intervallo (0- max (int)). -1 nasconde la finestra di dialogo e qualsiasi valore sotto -1 semplicemente blocca l'applicazione. E 'abbastanza simile a requestPermissions() in cui viene utilizzato il 'int' in più per fare riferimento in funzione di callback onRequestPermissionsResult()

Grazie, Indra