Merci d'avance pour l'aide.
J'ai un objet SharedPreference créépar une activité dans mon application. Au démarrage du périphérique, comment puis-je obtenir les valeurs que j'ai stockées dans cet objet SharedPreference? C’est ce que j’ai jusqu’à présent (qui ne fonctionne pas au démarrage pour une raison quelconque / la seule raison pour laquelle je souhaite commencer l’activité ici est de s’assurer que mon code DeviceBootReceiver fonctionne correctement / que l’activité fonctionne correctement, comme je l’ai indépendamment Notez que j'ai changé de nom de classe pour des raisons de confidentialité
xml
<uses-sdk
android:maxSdkVersion="20"
android:minSdkVersion="17"
android:targetSdkVersion="17" />
<application
android:name="app"
android:launchMode="singleTask"
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:logo="@drawable/ic_launcher"
android:label="app"
android:theme="@style/AppTheme" >
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
<activity
android:name="activity"
android:label="activity"
android:icon="@drawable/ic_launcher"
android:logo="@drawable/ic_launcher"
android:screenOrientation="portrait"
android:clearTaskOnLaunch="true"
android:launchMode="singleTask">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<receiver
android:enabled="true"
android:name=".DeviceBootReceiver"
android:permission="android.permission.RECEIVE_BOOT_COMPLETED">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</receiver>
</application>
code de diffusion
public class DeviceBootReceiver extends BroadcastReceiver {
public void onReceive(Context context, Intent intent) {
Intent i = new Intent(context, activity.class);
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(i);
}
}
Réponses:
0 pour la réponse № 1Juste le la sharedPreference
comme vous le feriez dans votre activité, mais maintenant avec context
par exemple.
context.getSharedPreferences(PREFS_NAME, 0);
ou
PreferenceManager.getDefaultSharedPreferences(context);
en fonction de la façon dont cela a été appelé dans votre activité.
Modifier:
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
devrait être au même niveau que <application>
pas à l'intérieur <application>