AlarmReceiver.java
上传用户:vip_99
上传日期:2021-03-27
资源大小:61159k
文件大小:2k
源码类别:

android开发

开发平台:

Java

  1. package irdc.ex10_03;
  2. import java.io.FileNotFoundException;
  3. import java.io.IOException;
  4. import java.util.Properties;
  5. import android.content.BroadcastReceiver;
  6. import android.content.Context;
  7. import android.content.Intent;
  8. import android.widget.Toast;
  9. public class AlarmReceiver extends BroadcastReceiver
  10. {
  11.   private String mcdate_value = "";
  12.   private String period_value = "";
  13.   private boolean isExit = true;
  14.   @Override
  15.   public void onReceive(Context arg0, Intent arg1)
  16.   {
  17.     // TODO Auto-generated method stub
  18.     /* 先取得文件里的设置值 */
  19.     getFileDate(arg0);
  20.     /* 有取得设置值才可运行 */
  21.     if (isExit)
  22.     {
  23.       /* 预估下次MC日期 */
  24.       String nDate = DateUtil.getNextDate(mcdate_value, Integer
  25.           .parseInt(period_value), "yyyy/MM/dd");
  26.       /* 距离现在还有N天 */
  27.       int days = DateUtil.computerDiffDate(DateUtil
  28.           .getDateTime(DateUtil.getNextDate(mcdate_value, Integer
  29.               .parseInt(period_value), "yyyyMMdd")), System
  30.           .currentTimeMillis());
  31.       String msg = arg0.getResources().getString(
  32.           R.string.strMessage2);
  33.       msg += nDate;
  34.       msg += "n";
  35.       if (days >= 0)
  36.       {
  37.         msg += arg0.getResources().getString(R.string.strMessage5);
  38.         msg += days;
  39.         msg += arg0.getResources().getString(R.string.strMessage7);
  40.       }
  41.       else
  42.       {
  43.         msg += arg0.getResources().getString(R.string.strMessage8);
  44.         /* 取绝对值 */
  45.         msg += Math.abs(days);
  46.         msg += arg0.getResources().getString(R.string.strMessage7);
  47.       }
  48.       showToast(arg0, msg);
  49.     }
  50.   }
  51.   private void getFileDate(Context arg0)
  52.   {
  53.     String msg = "";
  54.     Properties p = new Properties();
  55.     try
  56.     {
  57.       p.load(arg0.openFileInput(EX10_03.fileName));
  58.       mcdate_value = p.getProperty(EX10_03.mcdate_key);
  59.       period_value = p.getProperty(EX10_03.period_key);
  60.     }
  61.     catch (FileNotFoundException e)
  62.     {
  63.       isExit = false;
  64.       msg = e.getMessage();
  65.       e.printStackTrace();
  66.     }
  67.     catch (IOException e)
  68.     {
  69.       isExit = false;
  70.       msg = e.getMessage();
  71.       e.printStackTrace();
  72.     }
  73.     if (msg.length() > 0)
  74.     {
  75.       showToast(arg0, msg);
  76.     }
  77.   }
  78.   private void showToast(Context arg0, String msg)
  79.   {
  80.     Toast.makeText(arg0, msg, Toast.LENGTH_LONG).show();
  81.   }
  82. }