欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android實(shí)現(xiàn)系統(tǒng)消息推送

 更新時間:2020年07月22日 17:08:04   作者:VictorFactory  
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)系統(tǒng)消息推送,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下

現(xiàn)在好多應(yīng)用都接入了推送功能,市面上也有很多關(guān)于推送的第三方,例如極光等等,那么我們需求不大,接入極光會造成很大的資源浪費(fèi),下面我們來看下利用android服務(wù)進(jìn)行本地推送消息。

1.注冊一個Service

import android.annotation.TargetApi;
import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.app.Service;
import android.content.Context;
import android.content.Intent;
import android.os.Build;
import android.os.IBinder;
import java.util.Calendar;
 
/**
 * Created by 70883 on 2017/8/10.
 */
public class PushSmsService extends Service {
 private NotificationManager manager;
 private PendingIntent pi;
 private MyThread myThread;
 @Override
 public IBinder onBind(Intent intent) {
  // TODO Auto-generated method stub
   return null;
   }
 
 @Override
 public void onCreate() {
  myThread = new MyThread();
  myThread.start();
  super.onCreate();
 }
 
 @Override
 public void onDestroy() {
  super.onDestroy();
 }
   @TargetApi(Build.VERSION_CODES.JELLY_BEAN)
   private void notification() {
    // 獲取系統(tǒng)的通知管理器 
    manager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
    Intent intent = new Intent(getApplicationContext(),
      MainActivity.class);
    pi = PendingIntent.getActivity(getApplicationContext(), 0, intent, 0);
    Notification notification = new Notification.Builder(getApplicationContext())
      .setAutoCancel(true)
      .setContentText("工作在忙,也要吃飯哦")
      .setContentIntent(pi)
      .setSmallIcon(R.mipmap.ic_icon)
      .setWhen(System.currentTimeMillis())
      .build();
    notification.defaults = Notification.DEFAULT_ALL; // 使用默認(rèn)設(shè)置,比如鈴聲、震動、閃燈 
     notification.flags = Notification.FLAG_AUTO_CANCEL; // 但用戶點(diǎn)擊消息后,消息自動在通知欄自動消失 
    notification.flags |= Notification.FLAG_NO_CLEAR;// 點(diǎn)擊通知欄的刪除,消息不會依然不會被刪除 
    manager.notify(0, notification);
   }
 private class MyThread extends Thread{
  private Calendar c ;
  @Override
  public void run() {
   while (true){
    c = Calendar.getInstance();
    if(c.get(Calendar.HOUR_OF_DAY) == 15){
      try {
       notification();
       sleep(1000*60*60);
      } catch (InterruptedException e) {
       e.printStackTrace();
      }
    }
   }
 
  }
 }
}

2.在AndroidMan中注冊

<service android:name=".ui.Service.PushSmsService"></service>

3.由于我是需要全局應(yīng)用就在Application中進(jìn)行啟動了 

public void startService() {
  Intent intent = new Intent(this, PushSmsService.class);
  // 啟動服務(wù)
  startService(intent);
 }

4.也可以配合服務(wù)端使用,定時推送消息

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論