Ho creato un Authenticator, ho creato un SyncAdapter (entrambi possono essere eseguiti manualmente tramite le impostazioni sull'emulatore).Autenticatore Android Lanciare la schermata di accesso quando non è presente un account
Come si avvia la domanda per avviare la schermata di accesso (metodo addAccount) all'avvio dell'app, se non viene trovato alcun account?
Ecco il mio Manifest.xml ...
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.lateral.myapp"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="14"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.GET_ACCOUNTS"/>
<uses-permission android:name="android.permission.MANAGE_ACCOUNTS"/>
<uses-permission android:name="android.permission.AUTHENTICATE_ACCOUNTS"/>
<uses-permission android:name="android.permission.USE_CREDENTIALS"/>
<uses-permission android:name="android.permission.READ_SYNC_STATS" />
<uses-permission android:name="android.permission.READ_SYNC_SETTINGS" />
<uses-permission android:name="android.permission.WRITE_SYNC_SETTINGS" />
<application android:icon="@drawable/icon" android:label="@string/app_name" android:name=".myappApplication">
<activity android:name=".ui.EventListActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
<service android:name=".authenticator.AccountAuthenticatorService" android:exported="true" android:process=":auth">
<intent-filter>
<action android:name="android.accounts.AccountAuthenticator"/>
</intent-filter>
<meta-data android:name="android.accounts.AccountAuthenticator" android:resource="@xml/authenticator"/>
</service>
<service android:name="sync.EventsSyncAdapterService" android:exported="true" android:process=":events">
<intent-filter>
<action android:name="android.content.SyncAdapter" />
</intent-filter>
<meta-data android:name="android.content.SyncAdapter" android:resource="@xml/sync_events" />
</service>
<activity android:excludeFromRecents="true" android:name=".authenticator.myappAuthenticatorActivity">
<!--
No intent-filter here! This activity is only ever launched by
someone who explicitly knows the class name
-->
</activity>
</application>
</manifest>
quale sarebbe andare dove? – Rabbott
Nella tua app :) Chiamalo da 'onResume()' per gestire il caso quando l'utente elimina l'account e poi torna alla tua app. –
Perfetto - come menzionato da @ zed-scio come impedire che l'altro intento venga visualizzato prima che venga visualizzata la schermata di accesso .. a questo punto il metodo onResume include solo il tuo codice e 'super.onResume();' ma l'intento che è impostato per mostrare come predefinito lampeggia – Rabbott