gpt4 book ai didi

java - Android 每日通知在错误的时间多次显示

转载 作者:行者123 更新时间:2023-12-02 06:50:02 25 4
gpt4 key购买 nike

我正在尝试让 Android 通知在每天中午出现。每当设备启动时,通知似乎都会显示一次,然后偶尔会出现一次。

这是我的服务:

public class myService extends Service {
public static final String TAG = "LocationLoggerServiceManager";
@Override
public void onCreate() {
// TODO Auto-generated method stub
super.onCreate();
Log.v(TAG, "on onCreate");
}


@Override
public int onStartCommand(Intent intent, int flags, int startId)
{
PendingIntent contentIntent = PendingIntent.getActivity(this, 0, new Intent(this, LoginActivity.class), 0);

NotificationCompat.Builder mBuilder =
new NotificationCompat.Builder(this)
.setSmallIcon(R.drawable.ic_launcher)
.setContentTitle("App name")
.setContentText("Notification")
.setContentIntent(contentIntent)
.setDefaults(Notification.DEFAULT_SOUND)
.setAutoCancel(true);
NotificationManager mNotificationManager =
(NotificationManager) this.getSystemService(Context.NOTIFICATION_SERVICE);
mNotificationManager.notify("main", 1, mBuilder.build());

return super.onStartCommand(intent, flags, startId);
}

@Override
public IBinder onBind(Intent intent) {
// TODO Auto-generated method stub
return null;
}
}

和接收者:

   public class MyBroadcastReceiver extends BroadcastReceiver {

public static final String TAG = "LocationLoggerServiceManager";
@Override
public void onReceive(Context context, Intent intent) {
Log.d(TAG, "Broadcast Received");
handleMessage(context, intent);
}


private void handleMessage(Context context, Intent intent)
{
PendingIntent contentIntent = PendingIntent.getService(context, 0, new Intent(context, myService.class), 0);

AlarmManager alarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
alarmManager.cancel(contentIntent);
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.HOUR_OF_DAY, 12);
calendar.set(Calendar.MINUTE, 00);
calendar.set(Calendar.SECOND, 00);
alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), 24*60*60*1000 , contentIntent);
}
}

任何指示都值得赞赏。谢谢。

最佳答案

我尝试设置自己的通知/警报类。我发现管理它的唯一方法是扩展 Android 日历。

如果您想尝试这种方式,请参阅此链接作为开始:

http://developer.android.com/guide/topics/providers/calendar-provider.html

我有一个这种方法的示例,但是我正在工作,如果您需要的话,我可以稍后提供我的代码!

关于java - Android 每日通知在错误的时间多次显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18153957/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com