【发布时间】:2018-12-11 04:42:31
【问题描述】:
我正在开发一个基本的提醒应用程序,它具有能够将用户设置的日期记录到 sqlite 数据库的用户界面。为了完成我的应用程序,我希望有一个服务在手机重新启动时启动并在后台继续运行,因此我可以定期检查数据库并在任何日期接近时向用户显示通知消息。
我可以在启动时启动我的服务(我可以向 Android Studio 发送 LOG 消息),但我无法显示通知。似乎我发现的示例总是依赖于一个活动,但是如果没有运行主应用程序,我怎么会有一个活动呢? (当然这就是我的后台服务的重点,用户不必打开主应用程序)。
Q1:如何显示来自此服务的 Toast 消息?
Q2:如何显示来自此服务的通知?
public class autostartservice extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getAction().equals(Intent.ACTION_BOOT_COMPLETED)) {
for (int i = 0; i < 40; i++) {
synchronized (this) {
try {
wait(1000);
} catch (Exception e) {}
Log.i("myDebug", "Just wait here couple second until the phone boots all the way");
}
}
Toast.makeText(context, "Look at this Toast! Cool uh?", Toast.LENGTH_SHORT).show();
}
}
}
【问题讨论】: