zoukankan      html  css  js  c++  java
  • 定时器(AlarmManager)

    AlarmManager am 
    am = (AlarmManager)getSystemService(Context.ALARM_SERVICE);

    1、通过广播

    PendingIntent.getBroadcast

    2、通过service

    PendingIntent.getService

    3、通过Activity

    PendingIntent.getActivity(AlarmTestActivity.this, 0,
    new Intent(AlarmTestActivity.this, ActionActivity.class),
    Intent.FLAG_ACTIVITY_NEW_TASK);

    package com.yfz;
    
    import java.util.Calendar;
    
    import android.app.Activity;
    import android.app.AlarmManager;
    import android.app.PendingIntent;
    import android.content.Intent;
    import android.os.Bundle;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.view.ViewDebug.CapturedViewProperty;
    import android.widget.Button;
    
    public class AlarmTestActivity extends Activity {
        /** Called when the activity is first created. */
         AlarmManager am ;
         
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
            
            am = (AlarmManager)getSystemService(ALARM_SERVICE);
            
            Button btn1 = (Button)findViewById(R.id.id_btn1);
            Button btn2 = (Button)findViewById(R.id.id_btn2);
            Button btn3 = (Button)findViewById(R.id.id_btn3);
            
            btn1.setOnClickListener(onclick);
            btn2.setOnClickListener(onclick);
            btn3.setOnClickListener(onclick);
        }
        
        
        OnClickListener onclick = new OnClickListener() {
            
            @Override
            public void onClick(View v) {
                long now = System.currentTimeMillis();
                PendingIntent pi = null;
                switch (v.getId()) {
                    case R.id.id_btn1:
                        pi = PendingIntent.getBroadcast(AlarmTestActivity.this, 0,
                                new Intent(AlarmTestActivity.this, ActionBroadCast.class), 
                                Intent.FLAG_ACTIVITY_NEW_TASK);
                        break;
                    case R.id.id_btn2:
                        pi = PendingIntent.getService(AlarmTestActivity.this, 0, 
                                new Intent(AlarmTestActivity.this, ActionService.class),
                                Intent.FLAG_ACTIVITY_NEW_TASK);
                        break;
                    case R.id.id_btn3:
                        pi = PendingIntent.getActivity(AlarmTestActivity.this, 0, 
                                new Intent(AlarmTestActivity.this, ActionActivity.class), 
                                Intent.FLAG_ACTIVITY_NEW_TASK);
                        break;
                    default:
                        break;
                }
                am.setInexactRepeating(AlarmManager.RTC_WAKEUP, now, 30*1000, pi);
            }
        };
        
    }
  • 相关阅读:
    前端提示“页面正在载入”的功能实现
    JSON那些事
    如何让nodejs同步操作
    nodejs的一些局限
    《javascript高级程序设计》读书笔记——作用域
    svn教程
    从雷军谈小米中的一些思考
    云Vps安全设置
    不同服务器数据库之间的数据操作
    C#语言的Excel文件导入导出
  • 原文地址:https://www.cnblogs.com/ct732003684/p/2953123.html
Copyright © 2011-2022 走看看