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" />
  • 相关阅读:
    【JZOJ4616】二进制的世界
    【JZOJ4665】数列
    【JZOJ4811】排队
    2017.08.19【NOIP提高组】模拟赛B组 经济编码
    浅谈匈牙利算法
    2017.08.18【NOIP提高组】模拟赛B组 恭介的法则(rule)
    2017.08.18【NOIP提高组】模拟赛B组 沙耶的玩偶(doll)
    2017.08.15【NOIP提高组】模拟赛B组 单足跳
    2017.08.15【NOIP提高组】模拟赛B组 生日聚餐
    2017.08.12【NOIP提高组】模拟赛B组 巴比伦
  • 原文地址:https://www.cnblogs.com/yshyee/p/3644974.html
Copyright © 2011-2022 走看看