/ / Transmettre les données au récepteur de diffusion sur Boot, Android - Android, Broadcastreceiver, sharedpreferences

Transmettre les données au récepteur de diffusion sur Boot, Android - Android, Broadcastreceiver, sharedpreferences

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 № 1

Juste 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>