提前感谢您的帮助。
我有一个由我的应用中的活动创建的SharedPreference对象。在设备启动时,我怎样才能获得存储在此SharedPreference对象中的值?这就是我到目前为止(由于某种原因它不能在启动时运行/我想在这里启动活动的唯一原因是确保我的DeviceBootReceiver代码正常工作/活动正常工作,因为我已经独立开始了)。请注意,出于隐私原因,我更改了类名
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>
广播代码
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);
}
}
答案 0 :(得分:0)
就像您在“活动”中一样sharedPreference
,但现在使用context
e.g。
context.getSharedPreferences(PREFS_NAME, 0);
或
PreferenceManager.getDefaultSharedPreferences(context);
取决于您在“活动”中调用它的方式。
修改强>
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
应与<application>
不在<application>