相关疑难解决方法(0)

每天创建通知

我想在每天上午8:00创建通知.我在SQLite数据库中有一些数据,此时我每天都想从中获取数据并从中创建通知.创建新通知没有问题,但我现在每天如何显示它?

我想我必须使用服务但是如何告诉系统在特殊时刻启动此服务?我应该使用什么样的服务?我想如果系统调用该服务,它会启动一个特定的功能,我可以运行我的代码连接到数据库并创建并将我的通知发送到系统吗?

我无法理解的是,如果我在我的主Activity中注册该服务,为什么系统会在用户关闭我的应用程序时启动服务?任何人都可以向我解释一下吗?我总是认为如果我的主要活动被破坏,服务也会被破坏.

service notifications android

11
推荐指数
1
解决办法
9150
查看次数

如果我的应用程序没有运行,AlarmManager会工作吗?

如果我与我的应用程序进行交互(使用),我有一个警报可以正常工作,但是如果我将它设置为第二天并且不与我的应用程序进行交互则它不起作用.因此我怀疑这是因为我的应用程序进程没有运行那时候.

这就是我在做什么

Calendar calSet = Calendar.getInstance();
calSet.set(Calendar.HOUR_OF_DAY, selectedhour);
calSet.set(Calendar.MINUTE, selectedminute);
calSet.set(Calendar.YEAR, year);
calSet.set(Calendar.MONTH, monthOfYear);
calSet.set(Calendar.DATE, dayOfMonth);
alarm = new Intent(ActivityA.this, Service.class);
pendingIntent = PendingIntent.getService(getApplicationContext(), i++,alarm, 1);
alarmanager.set(AlarmManager.RTC_WAKEUP, calSet.getTimeInMillis(),pendingIntent);
Run Code Online (Sandbox Code Playgroud)

android calendar alarmmanager android-pendingintent

10
推荐指数
1
解决办法
2万
查看次数

每隔几个小时运行一次任务

我有一个方法,即使用户没有重新打开应用程序,我也需要每隔几个小时运行一次.什么是最好的方式?我应该使用Timer类还是Alarm Manager?谢谢!

android timer alarmmanager

5
推荐指数
2
解决办法
1万
查看次数

重新启动后尝试在android中重新安排以前的警报通知的代码?并登录我的手机?

我正在尝试遵循这个答案但是,它在模拟器和我的手机上都不起作用,所以我对模拟器日志和电话有疑问并重新启动以模拟和调试

我在底部有非常有趣的笔记,让我感到非常困惑

我正在使用 API 24 和像素 3 模拟器和真正的三星 8 手机

我做了典型的添加到清单

<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
Run Code Online (Sandbox Code Playgroud)

    <receiver android:name=".biz.alarm.BootupReceiver" >
        <intent-filter>
            <action android:name="android.intent.action.BOOT_COMPLETED" />
        </intent-filter>
    </receiver>
Run Code Online (Sandbox Code Playgroud)

但是我从来没有看到这个日志语句......

public class BootupReceiver extends BroadcastReceiver {
  private final static String TAG = "BootupReceiver";

  @Override
  public void onReceive(Context context, Intent intent) {
    String action = intent.getAction();
    Log.d(TAG, "booted. action="+action);

  }
}
Run Code Online (Sandbox Code Playgroud)

对于模拟,我单击播放按钮并观看我的应用程序出现。然后我按住电源按钮,当我真的只想重新启动时,它只给我一个“关机”选项......奇怪,所以我关机了。这似乎完全退出了模拟,这样当我在 Android Studio 的模拟器上再次点击播放时,它就会记录

08/06 19:17:40: Launching 'app' on Pixel 3 API 24.
$ adb shell am start -n "app.mykeepintouch.kit/app.mykeepintouch.kit.MainActivity" -a android.intent.action.MAIN -c …
Run Code Online (Sandbox Code Playgroud)

android android-studio

5
推荐指数
1
解决办法
241
查看次数

手机重启后,android报警管理器无效

我正在使用以下代码提醒用户在特定时间使用通知关于应用程序中的新更新每件事情都正常工作我们会在所需的时间收到提醒

这是mainactivity.java

public void setAlarm(){
    alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
    alarmIntent = new Intent(MainActivity.this, AlarmReceiver.class);
    pendingIntent = PendingIntent.getBroadcast(  MainActivity.this, 0, alarmIntent, 0);

    alarmStartTime.set(Calendar.HOUR_OF_DAY, 10);
    alarmStartTime.set(Calendar.MINUTE, 00);
    alarmStartTime.set(Calendar.SECOND, 0);
    alarmManager.setRepeating(AlarmManager.RTC, alarmStartTime.getTimeInMillis(), getInterval(), pendingIntent);
}
private int getInterval(){
     int days = 1;
     int hours = 24;
     int minutes = 60;
     int seconds = 60;
     int milliseconds = 1000;
     int repeatMS = days * hours * minutes * seconds * milliseconds;
     return repeatMS;
}
Run Code Online (Sandbox Code Playgroud)

AlarmReceiver.java

public class AlarmReceiver extends BroadcastReceiver {

    NotificationManager notificationManager;

    @Override …
Run Code Online (Sandbox Code Playgroud)

notifications android alarmmanager

1
推荐指数
1
解决办法
1651
查看次数