I have this inside myMainActivity
:
public void sendNotificationIfTimeEnd01() {
Intent intent01 = new Intent(Intent.ACTION_VIEW,
Uri.parse("https://www.google.de/?gws_rd=ssl"));
PendingIntent pendingIntent01 = PendingIntent.getActivity(this, 1, intent01, 0);
NotificationCompat.Builder builder = new NotificationCompat.Builder(this);
builder.setSmallIcon(R.drawable.ic_stat_notification);
builder.setContentIntent(pendingIntent01);
builder.setAutoCancel(true);
builder.setLargeIcon(BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher));
builder.setContentTitle(gamesJuliToStringArray[0]);
builder.setContentText("Ready");
builder.setSubText("click for google");
NotificationManager notificationManager = (NotificationManager) getSystemService(
NOTIFICATION_SERVICE);
notificationManager.notify(NOTIFICATION_ID_01, builder.build());
try {
Uri notification = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
Ringtone r = RingtoneManager.getRingtone(getApplicationContext(), notification);
r.play();
} catch (Exception e) {
e.printStackTrace();
}
}
I call it inside my fragment like this:
if (diffDays <= 0) {
String diffDaysAvailable = "ready";
((TextView) android.findViewById(R.id.readyLeft)).setText(diffDaysAvailable);
((TextView)
activity.sendNotificationIfTimeEnd01();
Log.d("MyApp", "notification 1");
}
I basically get a sample notification if diffDays <= 0
.
That works so far.
The problem is that the notification always pops up, when I restart the app.
I googled and read that one should use shared preferences to solve this issue. (Not experienced with it). I have this so far:
final SharedPreferences sharedPreferences = getActivity().getSharedPreferences(getString(R.string.preference_file_key), Context.MODE_PRIVATE);
final SharedPreferences.Editor editor = sharedPreferences.edit();
// push notification once time is up
final String notification01 = sharedPreferences.getString("notification01", "not01");
But have no idea how to continue and solve this issue.