AlarmManager与Android的通知 [英] AlarmManager with Notification Android
问题描述
我想给用户一个通知,在一定的时间每一天,所以我用一个AlarmManager一个通知。我有这样的:
I'm trying to give the user a notification each day on a certain time so I use an AlarmManager with a notification. I have this:
public void check_products(int hour, int minute){=
Calendar calendar = Calendar.getInstance();
Intent intent = new Intent(MainActivity.this, AlarmReceiver.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(MainActivity.this, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
AlarmManager am = (AlarmManager) MainActivity.this.getSystemService(MainActivity.this.ALARM_SERVICE);
am.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), 1000, pendingIntent);
}
public class AlarmReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
NotificationManager notificationManager = (NotificationManager)context.getSystemService(Context.NOTIFICATION_SERVICE);
Intent notificationIntent = new Intent(context, MainActivity.class);
notificationIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, notificationIntent, PendingIntent.FLAG_UPDATE_CURRENT);
NotificationCompat.Builder mNotifyBuilder = new NotificationCompat.Builder(context)
.setContentTitle("Reminder")
.setContentText("You need to eat")
.setWhen(System.currentTimeMillis())
.setContentIntent(pendingIntent);
notificationManager.notify(1, mNotifyBuilder.build());
}
}
和在清单(根据应用程序的权限它说:设置闹钟):
And in the manifest (under the app permissions it says "set an alarm"):
<uses-permission android:name="com.android.alarm.permission.SET_ALARM"/>
<receiver android:name="com.example.check_products.AlarmReceiver"/>
在我主我称之为带参数的功能check_products,但无论我尝试做;它不显示任何东西...是否有人知道我在做什么错了?
In my main I call the function check_products with the parameters, but whatever I try to do; it doesn't show anything... Does someone know what I'm doing wrong?
我柠新到Android编程,所以我不知道如何将alarmmanager和通知相结合...
I'm verry new to android programming so I wouldn't know how to combine the alarmmanager and notifications...
推荐答案
在您的清单文件调用接收器。
Call receiver in your manifest file.
筛选
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<receiver android:name="myPackage.AlarmReceiver"
android:enabled="true">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED"></action>
</intent-filter>
</receiver>
</application>
或
试试这个例子整体
MainActivity.java
private PendingIntent pendingIntent;
Intent intent = new Intent(MainActivity.this, AlarmReceiver.class);
pendingIntent = PendingIntent.getBroadcast(MainActivity.this, 0, intent , 0);
AlarmManager littlefluppy = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
littlefluppy.setRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis(), 2000, pendingIntent);
AlarmReceiver.java
public class AlarmReceiver extends BroadcastReceiver {
public AlarmReceiver() {
}
@Override
public void onReceive(Context context, Intent intent) {
// TODO: This method is called when the BroadcastReceiver is receiving
// an Intent broadcast.
Log.e("alram set.....","");
}
}
这篇关于AlarmManager与Android的通知的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!