123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151 |
- package com.ichong.zzy.mipush;
- import android.app.ActivityManager;
- import android.content.Context;
- import android.os.Process;
- import android.util.Log;
- import com.facebook.react.bridge.*;
- import com.xiaomi.channel.commonutils.logger.LoggerInterface;
- import com.xiaomi.mipush.sdk.Logger;
- import com.xiaomi.mipush.sdk.MiPushClient;
- import java.util.List;
- import static com.facebook.react.common.ReactConstants.TAG;
- /**
- * Created by zzy on 16/8/11.
- * Date : 16/8/11 13:22
- */
- public class MIPushModule extends ReactContextBaseJavaModule {
- private Context mContext;
- public MIPushModule(ReactApplicationContext reactContext) {
- super(reactContext);
- mContext = getReactApplicationContext();
- }
- @Override
- public String getName() {
- return "MIPushModule";
- }
- @ReactMethod
- public void init(String appid, String appkey) {
- try {
- if (shouldInit(mContext)) {
- MiPushClient.registerPush(mContext, appid, appkey);
- }
- //打开Log
- LoggerInterface newLogger = new LoggerInterface() {
- @Override
- public void setTag(String tag) {
- // ignore
- }
- @Override
- public void log(String content, Throwable t) {
- Log.d(TAG, content, t);
- }
- @Override
- public void log(String content) {
- Log.d(TAG, content);
- }
- };
- Logger.setLogger(mContext, newLogger);
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- @ReactMethod
- public String getRegId() {
- return MiPushClient.getRegId(mContext);
- }
- @ReactMethod
- public void setAlias(String text) {
- MiPushClient.setAlias(mContext, text, null);
- }
- @ReactMethod
- public void unsetAlias(String text) {
- MiPushClient.unsetAlias(mContext, text, null);
- }
- @ReactMethod
- public void subscribe(String text) {
- MiPushClient.subscribe(mContext, text, null);
- }
- @ReactMethod
- public void unsubscribe(String text) {
- MiPushClient.unsubscribe(mContext, text, null);
- }
- @ReactMethod
- public void setAccount(String text) {
- MiPushClient.setUserAccount(mContext, text, null);
- }
- @ReactMethod
- public void unsetAccount(String text) {
- MiPushClient.setAlias(mContext, text, null);
- }
- @ReactMethod
- public void presentLocalNotification(ReadableMap notification) {
- }
- @ReactMethod
- public void getInitialNotification(
- Promise promise) {
- promise.resolve(MIPushHelper.parsePushMessage(MIPushPackage.sMiPushMessage));
- MIPushPackage.sMiPushMessage = null;
- }
- @ReactMethod
- public void clearNotification(int id) {
- MiPushClient.clearNotification(mContext, id);
- }
- @ReactMethod
- public void clearAllNotification() {
- MiPushClient.clearNotification(mContext);
- }
- private boolean shouldInit(Context context) {
- ActivityManager am = ((ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE));
- List<ActivityManager.RunningAppProcessInfo> processInfos = am.getRunningAppProcesses();
- String mainProcessName = context.getPackageName();
- int myPid = Process.myPid();
- for (ActivityManager.RunningAppProcessInfo info : processInfos) {
- if (info.pid == myPid && mainProcessName.equals(info.processName)) {
- return true;
- }
- }
- return false;
- }
- }
|