`

简单抓取服务器端推送消息的思路

 
阅读更多
这个推送消息的模型就是从Service启动一个线程,定期获取服务器端消息然后显示出来:

MessageService.java文件:
package com.text.ac;

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.IBinder;

public class MessageService extends Service {

	private Notification mNotification = null;

	private NotificationManager mNotifyManager = null;

	private Intent mIntent = null;
	private PendingIntent mPendingIntent = null;
	/** 获取消息线程 */
	private MessageThread mMsgThread = null;
	private int messageNotificationID = 1000;

	public IBinder onBind(Intent intent) {
		return null;
	}

	/** Called by the system when the service is first created. */
	@Override
	public void onCreate() {
		super.onCreate();

		mNotification = new Notification();
		/**
		 * The resource id of a drawable to use as the icon in the status bar.
		 * This is required; notifications with an invalid icon resource will
		 * not be shown.
		 */
		mNotification.icon = R.drawable.icon;
		mNotification.tickerText = "新消息";
		mNotification.defaults = Notification.DEFAULT_SOUND;
		mNotifyManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);

		/** 点击跳转的activity. */
		mIntent = new Intent(this, ExTextActivity.class);
		mPendingIntent = PendingIntent.getActivity(this, 0, mIntent, 0);

		mMsgThread = new MessageThread();
		mMsgThread.isRunning = true;
		mMsgThread.start();
	}

	class MessageThread extends Thread {

		public boolean isRunning = true;

		public void run() {
			while (isRunning) {
				try {
					Thread.sleep(5000);
					/** 获取服务器消息 . */
					String mServerMsg = getServerMessage();

					if (mServerMsg != null && !"".equals(mServerMsg)) {
						/** 更新通知栏. */
						mNotification
								.setLatestEventInfo(MessageService.this, "新消息",
										"您中奖了,1个亿!" + mServerMsg,
										mPendingIntent);
						mNotifyManager.notify(messageNotificationID,
								mNotification);
						/** 每次通知完,通知ID递增一下,避免消息覆盖掉. */
						messageNotificationID++;
					}
				} catch (InterruptedException e) {
					e.printStackTrace();
				}
			}
		}
	}

	@Override
	public void onDestroy() {
		System.exit(0);
		/** 使用System.exit(0),这样进程退出的更干净. */
		mMsgThread.isRunning = false;
		super.onDestroy();
	}

	/**
	 * 这里以此方法为服务器Demo,仅作示例
	 * 
	 * @return 返回服务器要推送的消息,否则如果为空的话,不推送
	 */
	public String getServerMessage() {
		return "YES!";
	}
}
分享到:
评论

相关推荐

    基于Tsql和Java/C#的开源众包平台数据抓取及微信推送设计源码

    该开源众包平台数据抓取及微信推送项目源码,采用Tsql、Java和C#开发,包含74个文件,其中Java文件21个,C#文件10个,PNG图片6个,DLL库文件6个,Markdown...未来计划增加服务端功能以增强数据抓取和微信消息推送能力。

    网络游戏-对网络资源进行抓取及更新消息推送的方法及系统.zip

    在网络游戏领域,网络资源的抓取与更新消息推送是至关重要的技术环节,它们直接影响到玩家的游戏体验和游戏服务器的稳定性。本技术方案主要探讨了一种高效、实时的网络资源抓取策略以及更新消息推送系统,旨在提升...

    搜狗推送工具,绑定推送,非验证推送.zip

    标题中的“搜狗推送工具”是指搜狗搜索引擎提供的一个用于网站优化和SEO(搜索引擎优化)的工具。这个工具的主要功能是帮助网站管理员快速、高效地将网站内容推送给搜狗搜索引擎,以便更快地被索引和收录。"绑定推送...

    帝国CMS7.5百度实时推送主动推送插件亲测可用ZLPlugin-BDPush Pro

    4. 性能优化:优化了推送算法,减少无效推送,降低服务器负载。 **五、使用效果** 正确安装并配置插件后,每次发布新内容,ZLPlugin-BDPush Pro都会立即向百度发送推送请求,理论上可显著提高新内容的收录速度。...

    电信设备-基于个人首页抓取数据推送信息的系统及方法.zip

    标题中的“电信设备-基于个人首页抓取数据推送信息的系统及方法”表明这是一个关于电信设备上使用数据抓取和信息推送技术的专题。在这个领域,我们主要关注两个关键概念:数据抓取(Web Scraping)和信息推送。 ...

    android手机摄像头推送至RTMP服务器

    -将android手机模拟为监控摄像头,推送视频流至RTMP服务器。 -不使用flash,APP工作时,本机也无需安装flash。 -兼容大部分手机,一般2.3.3以上,ARM V7架构即可。 -默认分辨率352x288,特定场合下,640x480也能...

    PHPCMS_V9百度推送插件

    3. **节省资源**:相比传统的提交sitemap或等待搜索引擎自行抓取,自动推送可以减少等待时间,减轻服务器负担。 4. **监测效果**:在百度站长平台上,可以监控到哪些内容被成功推送,哪些未成功,有助于分析和改进...

    百度全自动推送文章收录PHP代码附带教程

    这是一种技术手段,允许网站在发布新内容时,即时将URL推送给百度,以便搜索引擎能更快地发现和抓取新内容。通常,这种方式比等待百度蜘蛛自然爬取更为高效,尤其对于新上线或者更新频率高的网站来说,能够显著提高...

    PHPCMS百度站长推送工具.zip

    “百度推送”功能是百度站长平台的一项重要服务,它允许我们将新内容或更新内容主动推送给百度,以便搜索引擎更快地抓取和索引。通常,当网站有新的文章、产品或更新时,如果不主动推送,百度可能需要一段时间才会...

    百度单一推送(查额度比较好用,来源百度站长论坛).zip

    总的来说,“百度单一推送”是一项有利于网站优化的服务,通过使用提供的工具和文件,网站管理员可以更加高效地管理他们的内容推送,从而提高搜索引擎对新内容的抓取速度和收录效率。在实际使用过程中,需要注意正确...

    基于系统代理抓包打造的抖音弹幕服务推送程序,可抓取浏览器直播间,直播伴侣,抖音客户端各种弹幕消息 一个对开发者友好的弹幕推送器

    基于系统代理抓包打造的抖音弹幕服务推送程序,可抓取浏览器直播间,直播伴侣,抖音客户端各种弹幕消息。一个对开发者友好的弹幕推送器 介绍 基于系统代理抓包打造的抖音弹幕服务推送程序,它能够获取电脑上所有抖音...

    智者百度蜘蛛王(链接批量推送) v1224.zip

    智者百度蜘蛛王(链接批量推送)是一款百度链接推送软件,通过百度蜘蛛王(链接批量推送)您可以将大量的链接推送给百度蜘蛛进行抓取,目前软件支持主动推送和自动推送两种。 1、主动推送:通过百度token进行批量推送...

    杰奇百度自动推送

    6. **API接口**:此插件工作原理是通过调用百度提供的自动推送API,将新内容的URL发送给百度服务器,告知其有新的网页需要抓取。百度会根据这些推送信息对网站进行快速索引。 7. **安全性与性能**:在使用自动推送...

    百度实时推送助手 v1.17_百度_百度推送_实时_百度时时推送助手_

    标题中的“百度实时推送助手 v1.17”是一款针对百度搜索引擎优化的工具,主要用于帮助网站管理员或SEO专业人员快速、稳定地将新生成的网页链接推送给百度,以实现快速收录。这款软件的版本号为1.17,表明它是经过多...

    树莓派-server酱绑定微信推送消息(python).txt

    ### 知识点详解 #### 一、树莓派简介 ...通过以上介绍可以看出,树莓派结合Server酱进行微信消息推送不仅操作简单、成本低廉,而且具有很高的实用价值和灵活性,非常适合个人开发者和小型项目使用。

    帝国cms百度推送插件V2.0.zip

    这款插件的核心功能是与百度站长平台的“链接提交主动推送”服务无缝对接,确保网站的新内容能够迅速被百度搜索引擎抓取,从而提高网页的收录速度和搜索排名。 一、主动推送原理 主动推送是百度站长平台提供的一种...

    百度主动推送工具

    与传统的爬虫自动抓取相比,主动推送能够避免因搜索引擎抓取频率限制或网页权重不高而导致的内容延迟收录问题。通过这个工具,网站管理员可以在文章发布后立即通知百度,使得新内容能在最短时间内被索引。 ### 二、...

    帝国CMS百度主动推送插件

    这款插件的工作原理是通过与百度的API接口进行交互,自动将新增或更新的页面URL推送给百度,让搜索引擎能够及时抓取和索引。 首先,了解帝国CMS系统。帝国CMS是一款开源、免费、功能强大的PHP内容管理系统,它提供...

    百度熊掌号推送seo V6.171216

    插件能根据熊掌号的要求完成页面的结构化改造。 插件能提交推送优质内容到百度。...1,熊掌号推送原创数据之后,新增内容将享受24小时内抓取校验、快速展现优待。 2,享受有抓取优待以及建库保护,结构化数据的优待。

    帝国百度推送插件

    "帝国百度推送插件"是一款专为帝国CMS系统设计的扩展工具,旨在帮助网站管理员更有效地将网站内容推送到百度搜索引擎,从而提升网站的收录速度和SEO排名。这个插件的使用,对于那些依赖搜索引擎流量的网站来说,具有...

Global site tag (gtag.js) - Google Analytics