zoukankan      html  css  js  c++  java
  • AlarmReceiver 与IntentService的使用

    1:GetSmsService.java

    public class GetSmsService extends IntentService{
        private AlarmManager alarmManager = null;
        private PendingIntent alarmIntent = null;
        
        public GetSmsService(){
            super("WtacService");
        }
        
        public GetSmsService(String name) {
            super(name);
        }
    
        @Override
        public IBinder onBind(Intent arg0) {
            return null;
        }
        
        @Override
        public void onCreate() {
            super.onCreate();
            alarmManager = (AlarmManager)this.getSystemService(Context.ALARM_SERVICE);
            String ALARM_ACTION = "com.wzh.receiver.ACTION_WTAC_ALAEM";
            Intent intentTo = new Intent(ALARM_ACTION);
            alarmIntent = PendingIntent.getBroadcast(this, 0, intentTo, 0);
        }
        
        @Override
        protected void onHandleIntent(Intent intent) {
            final Context context = this.getApplicationContext();
            
            int alarmType = AlarmManager.ELAPSED_REALTIME_WAKEUP;
            long triggerAtMillis = SystemClock.elapsedRealtime()+(5*1000);
            long intervalMillis = 5*1000;    //间隔时间
            alarmManager.setInexactRepeating(alarmType, triggerAtMillis, intervalMillis, alarmIntent);
            if(PhoneInfo.isConnectInternet(context)){
                System.out.println("从服务器获取数据:"+new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
                try {
                    Thread.sleep(2*1000);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
                System.out.println("进行短信发送:"+new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
            }
        }
    
    }

    2:GetSmsAlarmReceiver.java

    public class GetSmsAlarmReceiver extends BroadcastReceiver{
    
        @Override
        public void onReceive(Context context, Intent intent) {
            Intent startIntent = new Intent(context, GetSmsService.class);
            context.startService(startIntent);
        }
    
    }

    3:MainActivity.java

    public class MainActivity extends Activity {
        
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            
            
        }
            
    }

    4:AndroidManifest.xml

    <receiver
                android:name="com.wzh.service.GetSmsAlarmReceiver"
                android:enabled="true"
                android:exported="false" >
                <intent-filter>
                    <action android:name="com.wzh.receiver.ACTION_WTAC_ALAEM" />
                </intent-filter>
            </receiver>
    
            <service
                android:name="com.wzh.service.GetSmsService"
                android:enabled="true"
                android:exported="false" />
  • 相关阅读:
    iOS开发技巧,细节
    一个PO审批的自动触发问题
    SAP Workflow(一)
    【S4 导数据】S/4HANA导数,只会LSMW远远不够(转)
    【MM】采购订单文本(二)
    【MM】 采购订单长文本(一)
    SAP Create Background Job定义后台作业
    No.595-Big Countries-(LeetCode之Database篇)
    设计模式之单例模式
    你一定能看懂的JDK动态代理
  • 原文地址:https://www.cnblogs.com/yshyee/p/3644974.html
Copyright © 2011-2022 走看看