我将重复时间设置为5秒.第一次吐司在5秒后出现,但下一次在1分钟后重复一次.
我也尝试了使用setRepeating()的代码,它仍然不起作用.
这是我的代码:
public void constructJob(){
Intent alertIntent = new Intent(this, AlarmManagerService.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(
this, 0,
alertIntent,
PendingIntent.FLAG_UPDATE_CURRENT);
AlarmManager alarmManager = (AlarmManager)getSystemService(Context.ALARM_SERVICE);
alarmManager.setInexactRepeating(
AlarmManager.RTC_WAKEUP,
GregorianCalendar.getInstance().getTimeInMillis(),
repeatTime(),
pendingIntent
);
}
public long repeatTime(){
return 5000;
}
Run Code Online (Sandbox Code Playgroud)
AlarmManagerService.java
public class AlarmManagerService extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Toast.makeText(context, "5 seconds have passed",
Toast.LENGTH_SHORT).show();
}
Run Code Online (Sandbox Code Playgroud) 我有一个房间数据库设置。并有以下查询(按原样工作正常):
@Query("SELECT * FROM " + TABLE_REPORT
+ " WHERE " + COLUMN_CLASS_ID + " =:classID"
+ " ORDER BY CASE :orderByColumnName"
+ " WHEN 'maths' THEN maths"
+ " WHEN 'physics' THEN physics"
+ " WHEN 'history' THEN history"
+ " END"
+ " DESC")
List<ResultEntity> getClassResult(long classID, String orderByColumnName); // , String orderBy);
Run Code Online (Sandbox Code Playgroud)
我想取消对最后一行的注释并在函数中包含orderBy参数并将“DESC”替换为“:orderBy”,这样我就可以按orderBy对列表进行排序,这将是 ASC 或 DESC。
我试着做我上面解释的。但它似乎不起作用。
显示的错误是:“ASC、BETWEEN、COLLATE、DESC、IN、LIMIT、逗号或分号,找到:orderBy”
我怎样才能让它工作?提前致谢。