Android友盟推送

Android友盟推送当前版本号:v3.0.51.下载SDK解压并导入(importmodule,compileproject(':PushSDK')),里面有demo,用demo的包名去官网添加一个应用,然后替换demo中的manifest文件里面的appkey和message_secret,就可

大家好,欢迎来到IT知识分享网。Android友盟推送"

当前版本号:v3.0.5

1.下载SDK解压并导入(import module,compile project(‘:PushSDK’)),里面有demo,用demo的包名去官网添加一个应用,然后替换demo中的manifest文件里面的appkey和message_secret,就可以直接运行。

2.初始化SDK

 

  1.  
    public class App extends Application {

  2.  
     
  3.  
    public PushAgent mPushAgent;

  4.  
     
  5.  
    @Override

  6.  
    public void onCreate() {

  7.  
    super.onCreate();

  8.  
    mPushAgent = PushAgent.getInstance(
    this);

  9.  
    //注册推送服务,每次调用register方法都会回调该接口

  10.  
    mPushAgent.register(
    new IUmengRegisterCallback() {

  11.  
     
  12.  
    @Override

  13.  
    public void onSuccess(String deviceToken) {

  14.  
    //注册成功会返回device token

  15.  
    Log.e(
    “deviceToken——-“,deviceToken);

  16.  
    }

  17.  
     
  18.  
    @Override

  19.  
    public void onFailure(String s, String s1) {

  20.  
     
  21.  
    }

  22.  
    });

  23.  
     
  24.  
    mPushAgent.setPushIntentServiceClass(UmengPushIntentService.class);

  25.  
     
  26.  
    }

  27.  
    }

这样就已经可以测试了。

3.打开指定页面

包名加activity名,com.umeng.demo.SecondActivity

4.自定义参数

自定义一个service去继承UmengMessageService

public class UmengPushIntentService extends UmengMessageService {
  1.  
    @Override

  2.  
    public void onMessage(Context context, Intent intent) {

  3.  
    Intent data =
    new Intent(intent);

  4.  
    data.setClass(context, TestActivity.class);

  5.  
    //需为Intent添加Flag:Intent.FLAG_ACTIVITY_NEW_TASK,否则无法启动Activity。

  6.  
    data.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

  7.  
    context.startActivity(data);

  8.  
     
  9.  
    }

  10.  
     
  11.  
    }

在跳转的activity中去接收数据并解析

 

  1.  
    public class TestActivity extends AppCompatActivity {

  2.  
     
  3.  
    public static final String TAG = “TestActivity”;

  4.  
     
  5.  
    @Override

  6.  
    protected void onCreate(Bundle savedInstanceState) {

  7.  
    super.onCreate(savedInstanceState);

  8.  
    setContentView(R.layout.activity_test);

  9.  
     
  10.  
     
  11.  
    final String message = getIntent().getStringExtra(MESSAGE_BODY);

  12.  
    if (TextUtils.isEmpty(message))

  13.  
    return;

  14.  
    final UMessage msg;

  15.  
    try {

  16.  
    msg =
    new UMessage(new JSONObject(message));

  17.  
    UTrack.getInstance(
    this).trackMsgClick(msg);

  18.  
    Map<String, String> extra = msg.extra;

  19.  
    Log.d(TAG,
    “message=” + message); //消息体

  20.  
    Log.d(TAG,
    “custom=” + msg.custom); //自定义消息的内容

  21.  
    Log.d(TAG,
    “title=” + msg.title); //通知标题

  22.  
    Log.d(TAG,
    “text=” + msg.text); //通知内容

  23.  
    AlertDialog dialog;

  24.  
    if (null != extra && extra.containsKey(“msgType”))

  25.  
    dialog =
    new AlertDialog.Builder(this)

  26.  
    .setTitle(
    “if消息提示”)

  27.  
    .setMessage(msg.text+
    “11111”)

  28.  
    .setCancelable(
    false)

  29.  
    .setPositiveButton(
    “确认”, new DialogInterface.OnClickListener() {

  30.  
    @Override

  31.  
    public void onClick(DialogInterface dialog, int which) {

  32.  
    }

  33.  
    })

  34.  
    .create();

  35.  
    else

  36.  
    dialog =
    new AlertDialog.Builder(this)

  37.  
    .setTitle(
    “else消息提示”)

  38.  
    .setMessage(msg.text)

  39.  
    .setCancelable(
    false)

  40.  
    .setPositiveButton(
    “确认”, null)

  41.  
    .create();

  42.  
     
  43.  
    dialog.setOnDismissListener(
    new DialogInterface.OnDismissListener() {

  44.  
    @Override

  45.  
    public void onDismiss(DialogInterface dialog) {

  46.  
    onBackPressed();

  47.  
    }

  48.  
    });

  49.  
    dialog.show();

  50.  
    }
    catch (JSONException e) {

  51.  
    e.printStackTrace();

  52.  
    }

  53.  
    }

  54.  
    }

自定义的service需要在application类中调用

 

mPushAgent.setPushIntentServiceClass(UmengPushIntentService.class);

同时需要在manifest在注册

 

  1.  
    <service android:name=
    “.UmengPushIntentService”

  2.  
    android:process=
    “:push”/>

 

官方文档:http://dev.umeng.com/push/android/integration#4

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/34411.html

(0)

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

关注微信