Android实现系统消息推送

 更新时间:2020年07月22日 17:08:04   作者:VictorFactory  
这篇文章主要为大家详细介绍了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启动页广告(腾讯广告联盟)解决方法及源码下载

    Android启动页广告(腾讯广告联盟)解决方法及源码下载

    这篇文章主要介绍了Android启动页广告(腾讯广告联盟)解决方法的相关资料,启动页几乎成为了每个app的标配,有些商家在启动页中增加了开屏广告以此带来更多的收入,需要的朋友可以参考下
    2017-03-03
  • Android Studio安装配置方法图文详细教程

    Android Studio安装配置方法图文详细教程

    这篇文章主要为大家介绍了Android Studio下载和配置图文详细教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-07-07
  • Android内嵌Unity并实现互相跳转的实例代码

    Android内嵌Unity并实现互相跳转的实例代码

    这篇文章主要介绍了Android内嵌Unity并实现互相跳转的实例代码,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-11-11
  • Android获取LinearLayout的宽度和高度示例代码

    Android获取LinearLayout的宽度和高度示例代码

    这篇文章主要介绍了android获取LinearLayout的宽度和高度,如果想直接获取在布局文件中定义的组件的宽度和高度,可以直接使用View.getLayoutParams().width和View.getLayoutParams().height,本文结合示例代码介绍的非常详细,需要的朋友可以参考下
    2023-08-08
  • Android应用自动更新功能实现的方法

    Android应用自动更新功能实现的方法

    这篇文章主要为大家详细介绍了Android应用自动更新功能实现的方法,感兴趣的小伙伴们可以参考一下
    2016-06-06
  • 详解Android Activity中的几种监听器和实现方式

    详解Android Activity中的几种监听器和实现方式

    这篇文章主要介绍了Activity中的几种监听器和实现方式的相关资料,帮助大家更好的理解和学习使用Android,感兴趣的朋友可以了解下
    2021-04-04
  • Android中DrawerLayout+ViewPager滑动冲突的解决方法

    Android中DrawerLayout+ViewPager滑动冲突的解决方法

    这篇文章主要为大家详细介绍了Android中DrawerLayout+ViewPager滑动冲突的解决方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-06-06
  • Android实现层叠卡片式banner

    Android实现层叠卡片式banner

    这篇文章主要为大家详细介绍了Android实现层叠卡片式banner,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-10-10
  • Android中的HTextView库实现TextView动画效果

    Android中的HTextView库实现TextView动画效果

    HTextView是一个用来给TextView里的文字做各种转换动画的开源库,不仅提供了多种动画选择,而且还有重复字符的位移动画,虽然并没有多么复杂,但是它使用的这些典型的设计模式以及各种动画的实现确实可以从中让我们学到不少知识
    2023-12-12
  • Android 7.0 监听网络变化的示例代码

    Android 7.0 监听网络变化的示例代码

    这篇文章主要介绍了Android 7.0 监听网络变化的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-03-03

最新评论