极光推送:
1、使用第三方推送第一步新建账号这个是肯定的
2、创建应用将包名确定(同时会生成appkeyss)
3、注意libs里边必须有两个一定要存在的东西,一个是armeabi文件夹一个是jpush-sdk-release1.6.3.jar包,这两个东西都在官方demo中可以找到,直接复制就可以
4、下载三分钟快速demo
5、运行测试如果提示[PushService] Login succeed! registrationID=050ab696fa9 证明环境搭建配置成功,可以从官方推送消息并接受了
-------------------
以上是使用官方的配置环境
下面是自己的应用,主体来说都一样,按照官方的架构搭好基本的架构
1、创建自己的应用(注意包名是网站创建好的包名这个是不能变的,更改mainfest.xml 注意尤其包名,appkey,建议直接从官方demo拷贝,然后修改 )
2、在MainActivity中需要初始化推送服务并设置debugMode模式
JPushInterface.init(this);
JPushInterface.setDebugMode(true);
(官方会提示加上统计信息这个可有可无,无所谓,看自己情况)
3、创建成功后接受推送的消息需要自己重写一个MyReceiver 来 extends BroadcastReceiver
这个直接贴上代码---随便写了点可以运行就没在考虑,深层次的大家后期可以共同讨论讨论
MainActivity
---------------------------------------------------
package com.qiao.jpush;
import cn.jpush.android.api.JPushInterface;
import android.app.Activity;
import android.app.ActionBar;
import android.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.os.Build;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
JPushInterface.init(this);
JPushInterface.setDebugMode(true);
}
@Override
protected void onResume() {
// TODO Auto-generated method stub
super.onResume();
JPushInterface.onResume(this);
}
@Override
protected void onPause() {
// TODO Auto-generated method stub
super.onPause();
JPushInterface.onPause(this);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
/**
* A placeholder fragment containing a simple view.
*/
}
----------------------------------------------------
package com.qiao.jpush;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import cn.jpush.android.api.JPushInterface;
public class MyReceiver extends BroadcastReceiver {
private static final String TAG = "MyReceiver";
private String message ="";
@Override
public void onReceive(Context context, Intent intent) {
Log.i(TAG, "==" + intent.getAction());
Bundle bundle = intent.getExtras();
if (JPushInterface.ACTION_MESSAGE_RECEIVED.equals(intent.getAction())) {
message = bundle.getString(JPushInterface.EXTRA_MESSAGE);
Log.i(TAG, "=="+message+"message输出了");
}else if (JPushInterface.ACTION_NOTIFICATION_OPENED.equals(intent.getAction())) {
Intent i = new Intent(context,TextActivity.class); //自定义打开的界面
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(i);
// Activity 被打开,上报服务器统计。
JPushInterface.reportNotificationOpened(context, bundle.getString(JPushInterface.EXTRA_MSG_ID));
}
}
}
第三方推送