Notifications tous les jours
Bonjour, dans le cadre d'un projet, j'ai besoin que mon application fasse une notification tous les jours pour rappeler à l'utilisateurs d'aller sur l'application. Pour cela, avant de coder directement sur mon projet, j'ai crée une application qui crée juste une notification tous les jours. malheureusement, mon application compile mais ne crée pas de notification. je vous joint mon code :
Fichier MainActivity :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
|
package com.example.victouf.testnotif;
import android.app.AlarmManager;
import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
import android.icu.util.Calendar;
import android.os.Build;
import android.support.annotation.RequiresApi;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
public class MainActivity extends AppCompatActivity {
AlarmManager am;
@RequiresApi(api = Build.VERSION_CODES.N)
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Calendar cal = Calendar.getInstance();
cal.set(Calendar.HOUR_OF_DAY,23);
cal.set(Calendar.MINUTE, 0);
cal.set(Calendar.SECOND,0);
Intent intent = new Intent(getApplicationContext(), TimeAlarm.class);
PendingIntent p = PendingIntent.getBroadcast(getApplicationContext(),100, intent, PendingIntent.FLAG_UPDATE_CURRENT);
am = (AlarmManager) getSystemService(ALARM_SERVICE);
am.setRepeating(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), AlarmManager.INTERVAL_DAY,p);
}
} |
fichier TimeAlarm :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
|
package com.example.victouf.testnotif;
import android.content.BroadcastReceiver;
import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.support.v4.app.NotificationCompat;
/**
* Created by Victouf on 05/12/2017.
*/
public class TimeAlarm extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
NotificationManager nm = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
CharSequence from = "developpez.et";
CharSequence message = "message de notif";
Intent ri = new Intent(context, Repeating_activity.class);
ri.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
PendingIntent pi = PendingIntent.getActivity(context, 100 , ri, PendingIntent.FLAG_UPDATE_CURRENT);
NotificationCompat.Builder b = new NotificationCompat.Builder(context)
.setContentIntent(pi)
.setSmallIcon(R.drawable.icon)
.setContentTitle("psssst")
.setContentText("T'AS MAL???")
.setAutoCancel(true);
nm.notify(100,b.build());
}
} |
fichier Repeating_activity :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
package com.example.victouf.testnotif;
import android.app.Activity;
import android.os.Bundle;
/**
* Created by Victouf on 06/12/2017.
*/
public class Repeating_activity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.yep);
}
} |
mon Androidmanifest :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
|
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.victouf.testnotif">
<uses-permission android:name="com.android.alarm.permission.SET_ALARM"/>
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".Repeating_activity"/>
<receiver android:name=".TimeAlarm" />
</application>
</manifest> |
Le but est que tous les jours, à 23h, j'ai une notification qui si je clique dessus, m'ouvre l'activité Repeating_activity.
Merci de votre aide et de votre compréhension.