博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
第三方SDK:JPush SDK Eclipse
阅读量:4129 次
发布时间:2019-05-25

本文共 3039 字,大约阅读时间需要 10 分钟。

JPush是用来推送消息的工具。

情况分2种:

    1 只是简单地推送通知,而且不打开这个通知

    2 打开这个通知

1 只是简单地推送通知,而且不打开这个通知

只是发送通知,接收通知,不包含接收自定义消息。若需要接收自定义消息,需要创建类继承BroadcastReceiver

步骤:

1 添加.jar和.so文件

2 配置AndroidManifest.xml

3 在application中初始化

准备工作:去官网下载SDK,注册账号。

1 集成sdk

复制 libs/jpush-sdk-release1.x.y.jar 到工程 libs/ 目录下

复制 libs/armeabi/libjpush1xy.so 到工程 libs/armeabi 目录下

2 配置 AndroidManifest.xml

根据 SDK 压缩包里的 AndroidManifest.xml 样例文件,来配置应用程序项目的 AndroidManifest.xml 。

主要步骤为:
复制备注为 "Required" 的部分
将备注为替换包名的部分,替换为当前应用程序的包名
将AppKey替换为在Portal上注册该应用的的Key,例如(9fed5bcb7b9b87413678c407)

注意:只是简单地推送通知,而且不打开这个通知,那么只需要复制备注为 "Required" 的部分,其余的不需要复制。

AppKey在JPush控制台创建应用拿到的。见下图

3 初始化和设置调试模式

public class MyApplication extends Application {	@Override	public void onCreate() {		//设置调试模式		JPushInterface.setDebugMode(true);		//初始化JPush的sdk		JPushInterface.init(this);		super.onCreate();	}}
注意:若提示“缺少统计代码”,这个只在开发中有,发布后不显示,若想去掉,在mainActivity中添加如下代码
@Override	protected void onResume() {		JPushInterface.onResume(this);		super.onResume();	}	@Override	protected void onPause() {		JPushInterface.onPause(this);		super.onPause();	}
结果如下:

demo:http://download.csdn.net/detail/ss1168805219/9459137

2  第2种情况打开这个通知

 比1只是增加了1个activity和receiver,当然这需要在AndroidManifest.xml中配置

JpushReceiver.java  copy  SDK或JPush 的demo中的即可

public class JpushReceiver extends BroadcastReceiver {	private static final String TAG = "JpushReceiver";	@Override	public void onReceive(Context context, Intent intent) {		Bundle bundle = intent.getExtras();		Log.d(TAG, "onReceive - " + intent.getAction());		if (JPushInterface.ACTION_REGISTRATION_ID.equals(intent.getAction())) {		} else if (JPushInterface.ACTION_MESSAGE_RECEIVED.equals(intent				.getAction())) {			System.out.println("收到了自定义消息。消息内容是:"					+ bundle.getString(JPushInterface.EXTRA_MESSAGE));			// 自定义消息不会展示在通知栏,完全要开发者写代码去处理		} else if (JPushInterface.ACTION_NOTIFICATION_RECEIVED.equals(intent				.getAction())) {			System.out.println("收到了通知");			// 在这里可以做些统计,或者做些其他工作		} else if (JPushInterface.ACTION_NOTIFICATION_OPENED.equals(intent				.getAction())) {			System.out.println("用户点击打开了通知");			String url = "";			String json = bundle.getString(JPushInterface.EXTRA_EXTRA);			try {				JSONObject job = new JSONObject(json);				url = job.optString("url");			} catch (JSONException e) {				e.printStackTrace();			}			// 在这里可以自己写代码去定义用户点击后的行为			Intent i = new Intent(context, NewActivity.class); // 自定义打开的界面			i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);			context.startActivity(i);		} else {			Log.d(TAG, "Unhandled intent - " + intent.getAction());		}	}}
NewActivity.java :打开通知显示的界面
public class NewActivity extends Activity {	@Override	protected void onCreate(Bundle savedInstanceState) {		super.onCreate(savedInstanceState);		setContentView(R.layout.activity_new);	}}

demo:http://download.csdn.net/detail/ss1168805219/9459149

[第三方开源库:个推 ](http://blog.csdn.net/ss1168805219/article/details/53955886)

[第三方SDK:JPush:Android Studio ](http://blog.csdn.net/ss1168805219/article/details/52443252)
[ 第三方SDK:JPush SDK Eclipse ](http://blog.csdn.net/ss1168805219/article/details/50859280)

你可能感兴趣的文章
db db2_monitorTool IBM Rational Performace Tester
查看>>
postgresql监控工具pgstatspack的安装及使用
查看>>
【JAVA数据结构】双向链表
查看>>
【JAVA数据结构】先进先出队列
查看>>
Objective-C 基础入门(一)
查看>>
Flutter Boost的router管理
查看>>
iOS开发支付集成之微信支付
查看>>
C++模板
查看>>
【C#】如何实现一个迭代器
查看>>
【C#】利用Conditional属性完成编译忽略
查看>>
VUe+webpack构建单页router应用(一)
查看>>
(python版)《剑指Offer》JZ01:二维数组中的查找
查看>>
Spring MVC中使用Thymeleaf模板引擎
查看>>
PHP 7 的五大新特性
查看>>
深入了解php底层机制
查看>>
PHP中的stdClass 【转】
查看>>
XHProf-php轻量级的性能分析工具
查看>>
OpenCV gpu模块样例注释:video_reader.cpp
查看>>
就在昨天,全球 42 亿 IPv4 地址宣告耗尽!
查看>>
Mysql复制表以及复制数据库
查看>>