91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Android如何實現系統消息推送

發布時間:2020-07-22 14:07:59 來源:億速云 閱讀:189 作者:小豬 欄目:開發技術

這篇文章主要講解了Android如何實現系統消息推送,內容清晰明了,對此有興趣的小伙伴可以學習一下,相信大家閱讀完之后會有幫助。

現在好多應用都接入了推送功能,市面上也有很多關于推送的第三方,例如極光等等,那么我們需求不大,接入極光會造成很大的資源浪費,下面我們來看下利用android服務進行本地推送消息,

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() {
        // 獲取系統的通知管理器 
        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; // 使用默認設置,比如鈴聲、震動、閃燈 
         notification.flags = Notification.FLAG_AUTO_CANCEL; // 但用戶點擊消息后,消息自動在通知欄自動消失 
        notification.flags |= Notification.FLAG_NO_CLEAR;// 點擊通知欄的刪除,消息不會依然不會被刪除 
        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.由于我是需要全局應用就在Application中進行啟動了 

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

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

看完上述內容,是不是對Android如何實現系統消息推送有進一步的了解,如果還想學習更多內容,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

辰溪县| 廊坊市| 太仆寺旗| 眉山市| 密山市| 方山县| 彰化市| 江华| 大竹县| 定陶县| 兴化市| 兴义市| 平邑县| 九龙县| 洛南县| 肇州县| 霍山县| 高州市| 勐海县| 英吉沙县| 漳州市| 新余市| 奉新县| 平陆县| 冀州市| 黄龙县| 绵竹市| 永新县| 页游| 乌兰县| 邻水| 凌海市| 江安县| 庆元县| 德令哈市| 大理市| 平阳县| 靖远县| 纳雍县| 凤城市| 赣州市|