Android友盟推送

举报
yechaoa 发表于 2022/05/31 01:09:59 2022/05/31
【摘要】 当前版本号:v3.0.5 1.下载SDK解压并导入(import module,compile project(':PushSDK')),里面有demo,用demo的包名去官网添加一个应用,然后替换demo中的manifest文件里面的appkey和message_secret,就可以直接运行。 2.初始化SDK public ...

当前版本号:v3.0.5

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

2.初始化SDK


      public class App extends Application {
         public PushAgent mPushAgent;
         @Override
         public void onCreate() {
             super.onCreate();
              mPushAgent = PushAgent.getInstance(this);
             //注册推送服务,每次调用register方法都会回调该接口
              mPushAgent.register(new IUmengRegisterCallback() {
                 @Override
                 public void onSuccess(String deviceToken) {
                     //注册成功会返回device token
                      Log.e("deviceToken-------",deviceToken);
                  }
                 @Override
                 public void onFailure(String s, String s1) {
                  }
              });
              mPushAgent.setPushIntentServiceClass(UmengPushIntentService.class);
          }
      }
  
 

3.打开指定页面

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

4.自定义参数

自定义一个service去继承UmengMessageService

public class UmengPushIntentService extends UmengMessageService {
 

         @Override
         public void onMessage(Context context, Intent intent) {
             Intent data = new Intent(intent);
              data.setClass(context, TestActivity.class);
             //需为Intent添加Flag:Intent.FLAG_ACTIVITY_NEW_TASK,否则无法启动Activity。
              data.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
              context.startActivity(data);
          }
      }
  
 


      public class TestActivity extends AppCompatActivity {
         public static final String TAG = "TestActivity";
         @Override
         protected void onCreate(Bundle savedInstanceState) {
             super.onCreate(savedInstanceState);
              setContentView(R.layout.activity_test);
             final String message = getIntent().getStringExtra(MESSAGE_BODY);
             if (TextUtils.isEmpty(message))
                 return;
             final UMessage msg;
             try {
                  msg = new UMessage(new JSONObject(message));
                  UTrack.getInstance(this).trackMsgClick(msg);
                  Map<String, String> extra = msg.extra;
                  Log.d(TAG, "message=" + message);    //消息体
                  Log.d(TAG, "custom=" + msg.custom);    //自定义消息的内容
                  Log.d(TAG, "title=" + msg.title);    //通知标题
                  Log.d(TAG, "text=" + msg.text);    //通知内容
                  AlertDialog dialog;
                 if (null != extra && extra.containsKey("msgType"))
                      dialog = new AlertDialog.Builder(this)
                              .setTitle("if消息提示")
                              .setMessage(msg.text+"11111")
                              .setCancelable(false)
                              .setPositiveButton("确认", new DialogInterface.OnClickListener() {
                                 @Override
                                 public void onClick(DialogInterface dialog, int which) {
                                  }
                              })
                              .create();
                 else
                     dialog = new AlertDialog.Builder(this)
                              .setTitle("else消息提示")
                              .setMessage(msg.text)
                              .setCancelable(false)
                              .setPositiveButton("确认", null)
                              .create();
                  dialog.setOnDismissListener(new DialogInterface.OnDismissListener() {
                     @Override
                     public void onDismiss(DialogInterface dialog) {
                          onBackPressed();
                      }
                  });
                  dialog.show();
              } catch (JSONException e) {
                  e.printStackTrace();
              }
          }
      }
  
 

mPushAgent.setPushIntentServiceClass(UmengPushIntentService.class);
 


      <service android:name=".UmengPushIntentService"
                  android:process=":push"/>
  
 


http://dev.umeng.com/push/android/integration#4



文章来源: blog.csdn.net,作者:yechaoa,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/yechaoa/article/details/53507140

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。