So in etwa:
1@Override
2 public void onReceive(Context context, Intent intent) {
3 sharedPreferences = context.getSharedPreferences(MainActivity.File, Context.MODE_PRIVATE);
4 boolean checked = sharedPreferences.getBoolean(MainActivity.File, true);
5 if (checked) {
6 TelephonyManager telephonyManager = (TelephonyManager) context
7 .getSystemService(Context.TELEPHONY_SERVICE);
8 MyPhoneStateListener PhoneListener = new MyPhoneStateListener(
9 context, this);
10 telephonyManager.listen(PhoneListener,
11 PhoneStateListener.LISTEN_CALL_STATE);
12 }
13 }
Klappt leider auch nicht.
Das komische ist ja aber, wenn ich das Häckchen setze und die App komplett schließe und sie wieder öffne, ist das Häckchen wieder gesetzt und beim nichtsetzen genauso. Das bedeutet ja, dass die App sich den Boolean holt. Nur in der Receiver Klasse scheint sie sich den Boolean nicht holen zu können und setzt dann ein true, weils nicht gefunden wurde.
edit: Jetzt klappts, ich habe vergessen
1sharedPreferences = PreferenceManager.getDefaultSharedPreferences(context);
auch in der onCreate zu setzen, weil er sich ja sonnst am Anfang das falsche Objekt holen würde.
Vielen Dank Dir!
grüße Fabian!
— geändert am 06.10.2013, 21:00:45
Empfohlener redaktioneller Inhalt
Mit Deiner Zustimmung wird hier ein externer Inhalt geladen.
Mit Klick auf den oben stehenden Button erklärst Du Dich damit einverstanden, dass Dir externe Inhalte angezeigt werden dürfen. Dabei können personenbezogene Daten an Drittanbieter übermittelt werden. Mehr Infos dazu findest Du in unserer Datenschutzerklärung.