android极光推送集成

一、注册 极光推送帐号和创建应用 导入jar包盒so库到项目中 AndroidStudio 添加新文件夹jniLibs并将so导入

二、Application中初始化

 JPushInterface.setDebugMode(true);

 JPushInterface.init(this);

三、启动页

@Override

    protected void onResume() {

      super.onResume();

       JPushInterface.onResume(this);

    }


    @Override

    protected void onPause() {

       super.onPause();

       JPushInterface.onPause(this);

    }

四、添加广播监听

public class MyReceiver extends BroadcastReceiver {

    private static final String TAG = "JPush";

    @Override

    public void onReceive(final Context context, Intent intent) {

        if (!JPushInterface.ACTION_NOTIFICATION_OPENED.equals(intent.getAction())) {

            return;

        }

           // do thing


五、AndroidManiFest.xml添加相关配置

(1)、添加权限

 <!-- start-->

<permission

        android:name="${applicationId}.permission.JPUSH_MESSAGE"

        android:protectionLevel="signature" />


<!-- Required  一些系统要求的权限,如访问网络等-->

  <uses-permission android:name="${applicationId}.permission.JPUSH_MESSAGE" />

  <uses-permission android:name="android.permission.RECEIVE_USER_PRESENT" />

    <uses-permission android:name="android.permission.INTERNET" />

    <uses-permission android:name="android.permission.WAKE_LOCK" />

    <uses-permission android:name="android.permission.READ_PHONE_STATE" />

    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>

    <uses-permission android:name="android.permission.WRITE_SETTINGS" />

<uses-permission android:name="android.permission.VIBRATE" />

<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />

    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

  <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />

  <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />


(2)、配置推送服务、广播、页面及处理事件


 <!-- 极光推送-->

        <!-- Required SDK核心功能-->

        <activity

            android:name="cn.jpush.android.ui.PushActivity"

            android:configChanges="orientation|keyboardHidden"

            android:exported="false"

            android:theme="@android:style/Theme.NoTitleBar">

            <intent-filter>

                <action android:name="cn.jpush.android.ui.PushActivity" />


                <category android:name="android.intent.category.DEFAULT" />

                <category android:name="${applicationId}" />

            </intent-filter>

        </activity>

        <!-- Required  SDK核心功能-->

        <service

            android:name="cn.jpush.android.service.DownloadService"

            android:enabled="true"

            android:exported="false"></service>



        <!-- Required SDK 核心功能-->

        <!-- 可配置android:process参数将PushService放在其他进程中 -->

        <service

            android:name="cn.jpush.android.service.PushService"

            android:enabled="true"

            android:exported="false">

            <intent-filter>

                <action android:name="cn.jpush.android.intent.REGISTER" />

                <action android:name="cn.jpush.android.intent.REPORT" />

                <action android:name="cn.jpush.android.intent.PushService" />

                <action android:name="cn.jpush.android.intent.PUSH_TIME" />

            </intent-filter>

        </service>


        <!-- since 1.8.0 option 可选项。用于同一设备中不同应用的JPush服务相互拉起的功能。 -->

        <!-- 若不启用该功能可删除该组件,将不拉起其他应用也不能被其他应用拉起 -->

        <!--<service-->

            <!--android:name="cn.jpush.android.service.DaemonService"-->

            <!--android:enabled="true"-->

            <!--android:exported="true">-->

            <!--<intent-filter>-->

                <!--<action android:name="cn.jpush.android.intent.DaemonService" />-->

                <!--<category android:name="${applicationId}" />-->

            <!--</intent-filter>-->

<!--</service>-->

<!-- Required SDK核心功能-->

  <receiver

            android:name="cn.jpush.android.service.PushReceiver"

            android:enabled="true"

       android:exported="false">

      <intent-filter android:priority="1000">

    <action android:name="cn.jpush.android.intent.NOTIFICATION_RECEIVED_PROXY"/>

         <!--Required  显示通知栏 -->

                <category android:name="${applicationId}" />

            </intent-filter>

            <intent-filter>

                <action android:name="android.intent.action.USER_PRESENT" />

                <action android:name="android.net.conn.CONNECTIVITY_CHANGE" />

            </intent-filter>

            <!-- Optional -->

            <intent-filter>

                <action android:name="android.intent.action.PACKAGE_ADDED" />

                <action android:name="android.intent.action.PACKAGE_REMOVED" />

                <data android:scheme="package" />

            </intent-filter>

  </receiver>

  <!-- Required SDK核心功能-->

        <receiver

            android:name="cn.jpush.android.service.AlarmReceiver"

            android:exported="false" />

          <!-- User defined.  For test only  用户自定义的广播接收器-->

        <receiver

            android:name="carkeeper.com.carkeeper.receiver.MyReceiver"

            android:enabled="true"

            android:exported="false">

            <intent-filter>

                <action android:name="cn.jpush.android.intent.REGISTRATION" />

                <!--Required  用户注册SDK的intent-->

                <action android:name="cn.jpush.android.intent.UNREGISTRATION" />

                <action android:name="cn.jpush.android.intent.MESSAGE_RECEIVED" />

                <!--Required  用户接收SDK消息的intent-->

               <action android:name="cn.jpush.android.intent.NOTIFICATION_RECEIVED" />

                <!--Required  用户接收SDK通知栏信息的intent-->

                <action android:name="cn.jpush.android.intent.NOTIFICATION_OPENED" />

                <!--Required  用户打开自定义通知栏的intent-->

                <action android:name="cn.jpush.android.intent.ACTION_RICHPUSH_CALLBACK" />

                <!--Optional 用户接受Rich Push Javascript 回调函数的intent-->

                <action android:name="cn.jpush.android.intent.CONNECTION" />

                <!-- 接收网络变化 连接/断开 since 1.6.3 -->

                <category android:name="${applicationId}" />

            </intent-filter>

        </receiver>

<!-- Required  . Enable it you can get statistics data with channel -->

        <meta-data

            android:name="JPUSH_CHANNEL"

            android:value="developer-default" />

        <meta-data

            android:name="JPUSH_APPKEY"

            android:value="bedae73ef58dcdd4689292a" />

        <!--  </>值来自开发者平台取得的AppKey-->


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值