Android - Shared-настройки в трансляции - PullRequest
0 голосов
/ 08 июня 2018

В моем классе BroadcastReceiver я использую ISharedPreferences, чтобы сохранить строку, поступающую из службы, и сравнить ее с предыдущей строкой (которая хранится в моих настройках).

BroadcastReceiver.cs

[BroadcastReceiver]
[IntentFilter(new[] { "TEST" })]
public class Receiver : BroadcastReceiver
{
    public override void OnReceive(Context context, Intent intent)
    {
        ISharedPreferences pref = PreferenceManager.GetDefaultSharedPreferences(context);
        ISharedPreferencesEditor editor = pref.Edit();
        string old = pref.GetString("MYKEY", "nothing");
        Log.Error("lv", "OnReceive");
        string new = intent.GetStringExtra("alltotale");
        editor.PutString("MYKEY", new);
        editor.Commit();
        Notification.Builder builder = new Notification.Builder(context);
        builder.SetContentTitle("Old:" + old);
        builder.SetContentText("New" + new);
        builder.SetSmallIcon(Resource.Drawable.Icon);
        Notification notif = builder.Build();
        NotificationManager notifmanager = context.GetSystemService(Context.NotificationService) as NotificationManager;
        notifmanager.Notify(12, notif);
     }
 }

Теперь странно то, что две строки (старая и новая), которые отображаются в уведомлении, одинаковы,хотя я почти уверен, что это не так.Что указывает на то, что в процессе хранения что-то не так.Я не знаю, почему он дает ту же строку в уведомлении, я не вижу никаких проблем с логикой, так с чем это связано?

...