1 回答

TA貢獻(xiàn)1802條經(jīng)驗(yàn) 獲得超5個(gè)贊
極光推送實(shí)現(xiàn)步驟概括:
1.查看Project下的build.gradle里面是否有,buildscript 和 allprojects ;
2.在app下的defaultConfig下面添加,ndk 和 manifestPlaceholders ,然后添加兩個(gè)依賴
compile 'cn.jiguang.sdk:jpush:3.0.5' // 此處以JPush 3.0.5 版本為例。
compile 'cn.jiguang.sdk:jcore:1.1.2' // 此處以JCore 1.1.2 版本為例。
3.清單文件,添加權(quán)限和Service,修改成自己的包名
4.去極光推送官網(wǎng)上創(chuàng)建應(yīng)用,復(fù)制AppKey,然后回到build.gradle(app) 和 清單文件里面,修改成自己的AppKey
5.創(chuàng)建Receiver應(yīng)用,繼承BroadCastReceiver
public class MyReceiver extends BroadcastReceiver {
String TAG = MyReceiver.class.getSimpleName();
@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())) {
String regId = bundle.getString(JPushInterface.EXTRA_REGISTRATION_ID);
Log.d(TAG, "[MyReceiver] 接收Registration Id : " + regId);
}else if (JPushInterface.ACTION_MESSAGE_RECEIVED.equals(intent.getAction())) {
Log.d(TAG, "收到了自定義消息。消息內(nèi)容是:" + bundle.getString(JPushInterface.EXTRA_MESSAGE));
// 自定義消息不會(huì)展示在通知欄,完全要開(kāi)發(fā)者寫(xiě)代碼去處理
} else if (JPushInterface.ACTION_NOTIFICATION_RECEIVED.equals(intent.getAction())) {
Log.d(TAG, "收到了通知");
// 在這里可以做些統(tǒng)計(jì),或者做些其他工作
} else if (JPushInterface.ACTION_NOTIFICATION_OPENED.equals(intent.getAction())) {
Log.d(TAG, "用戶點(diǎn)擊打開(kāi)了通知");
// 在這里可以自己寫(xiě)代碼去定義用戶點(diǎn)擊后的行為
Intent i = new Intent(context, ToolbarActivity.class); //自定義打開(kāi)的界面
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(i);
} else {
Log.d(TAG, "Unhandled intent - " + intent.getAction());
}
}
}
- 1 回答
- 0 關(guān)注
- 1037 瀏覽
添加回答
舉報(bào)