Android开发————简易App设计(三)

实验内容

1. 给备忘录app添加备忘时间已到提醒

实验步骤

1.使用上一次的源代码

2.创建TimesReminderService类

package com.example.xhm.my_application1;
import android.app.Notification;
import android.app.NotificationManager;
import android.app.Service;
import android.content.Intent;
import android.os.Build;
import android.os.IBinder;
import android.support.annotation.RequiresApi;

import java.util.ArrayList;
import java.util.Calendar;

public class TimesReminderService extends Service {
    ArrayList<Record> list;
    private Notification.Builder builder;
    private NotificationManager notificationManager;

    public TimesReminderService() {
    }

    @Override
    public IBinder onBind(Intent intent) {
        // TODO: Return the communication channel to the service.
        throw new UnsupportedOperationException("Not yet implemented");
    }

    @Override
    public void onCreate() {
        super.onCreate();
        list = Utils.getRecord(getApplicationContext());
        builder = new Notification.Builder(getApplicationContext());
        builder.setTicker("备忘录时间到了"); 
        builder.setAutoCancel(true);
        builder.setContentTitle("备忘录内容如下:");
        builder.setSmallIcon(R.drawable.ic_launcher_background);
        notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE); 
            new Thread(new Runnable() {
                @RequiresApi(api = Build.VERSION_CODES.JELLY_BEAN) 
                @Override
                public void run() {
                    while (true) {
                        list = Utils.getRecord(getApplicationContext());
                        if (list != null) {
                            Calendar c = Calendar.getInstance();
                            int year = c.get(Calendar.YEAR);
                            int month = c.get(Calendar.MONTH);
                            int day = c.get(Calendar.DAY_OF_MONTH);
                            int hour = c.get(Calendar.HOUR_OF_DAY);
                            int minute = c.get(Calendar.MINUTE);
                            String str = "日期和时间:" + year + "年"
                                    + (month + 1) + "月" + day + "日" + hour + ":" + minute;
                            c = null;
                            for (int i = 0; i < list.size(); i++) {
                                String str1 = list.get(i).content.split("---")[0];
                                if (str.trim().equals(str1.trim())) { 
                                    builder.setContentText(list.get(i).content.split("---")[1]); 
                                    Notification notification = builder.build();
                                    notificationManager.notify(1, notification); 
                                }
                            }
                        }
                    }
                }
            }).start();
        }
    }

在MainActivity中onCreate方法里添加如下代码

Intent service=new Intent();
        service.setClass(this,TimesReminderService.class);
        startService(service); 

实验结果

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

FLy_鹏程万里

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值