极光推送 点击推送过去的弹幕跳转到对应的页面

在单个model的build下配置的

 defaultConfig {
      ndk {
                    //选择要添加的对应 cpu 类型的 .so 库。
                    abiFilters 'armeabi', 'armeabi-v7a', 'arm64-v8a','x86'
                    // 还可以添加 'x86', 'x86_64', 'mips', 'mips64'
                }

        manifestPlaceholders = [
                JPUSH_PKGNAME : applicationId,
                JPUSH_APPKEY : "你的 Appkey ", //JPush 上注册的包名对应的 Appkey.
                JPUSH_CHANNEL : "developer-default", //暂时填写默认值即可.
            ]
}
dependencies {
	implementation 'cn.jiguang.sdk:jpush:3.1.6'  // 此处以JPush 3.1.6 版本为例。
   	 implementation 'cn.jiguang.sdk:jcore:1.2.5'  // 此处以JCore 1.2.5 版本为例。
}

工程中找到gradle.properties的文档

android.useDeprecatedNdk=true

AndroidManifest.xml中的配置

<!-- Required -->
    <uses-permission android:name="com.bwei.yuekaolianxi03.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.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.MOUNT_UNMOUNT_FILESYSTEMS"
        tools:ignore="ProtectedPermissions" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.WRITE_SETTINGS"
        tools:ignore="ProtectedPermissions" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />

<!-- Optional. Required for location feature -->
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" /> <!-- 用于开启 debug 版本的应用在 6.0 系统上的层叠窗口权限 -->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
<uses-permission android:name="android.permission.GET_TASKS" />
<uses-permission android:name="android.permission.VIBRATE" />

<application
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:name="Your Application Name">

    <!-- 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 3.0.9 Required SDK 核心功能-->
    <provider
        android:authorities="您应用的包名.DataProvider"
        android:name="cn.jpush.android.service.DataProvider"
        android:exported="true"
    />

    <!-- since 1.8.0 option 可选项。用于同一设备中不同应用的 JPush 服务相互拉起的功能。 -->
    <!-- 若不启用该功能可删除该组件,或把 enabled 设置成 false ;拉起服务被关闭,App 不会通过拉起服务拉起其他的 App,也不会被其他 App 拉起。 -->
     <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="您应用的包名"/>
         </intent-filter>
     </service>

     <!-- since 3.1.0 Required SDK 核心功能-->
      <provider
           android:authorities="您应用的包名.DownloadProvider"
           android:name="cn.jpush.android.service.DownloadProvider"
           android:exported="true"
       />

    <!-- Required SDK 核心功能-->
    <receiver
        android:name="cn.jpush.android.service.PushReceiver"
        android:enabled="true" >
      <intent-filter android:priority="1000">
            <action android:name="cn.jpush.android.intent.NOTIFICATION_RECEIVED_PROXY" />
            <category android:name="您应用的包名"/>
        </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 核心功能-->
    <activity
        android:name="cn.jpush.android.ui.PushActivity"
        android:configChanges="orientation|keyboardHidden"
        android:theme="@android:style/Theme.NoTitleBar"
        android:exported="false" >
        <intent-filter>
            <action android:name="cn.jpush.android.ui.PushActivity" />
            <category android:name="android.intent.category.DEFAULT" />
            <category android:name="您应用的包名" />
        </intent-filter>
    </activity>
    <!-- SDK 核心功能-->
    <activity
        android:name="cn.jpush.android.ui.PopWinActivity"
        android:configChanges="orientation|keyboardHidden"
        android:exported="false"
        android:theme="@style/MyDialogStyle">
        <intent-filter>
            <category android:name="android.intent.category.DEFAULT" />
            <category android:name="您应用的包名" />
        </intent-filter>
    </activity>

    <!-- Required SDK 核心功能-->
    <service
        android:name="cn.jpush.android.service.DownloadService"
        android:enabled="true"
        android:exported="false" >
    </service>

    <!-- Required SDK 核心功能-->
    <receiver android:name="cn.jpush.android.service.AlarmReceiver" />

    <!-- Required since 3.0.7 -->
    <!-- 新的 tag/alias 接口结果返回需要开发者配置一个自定的广播 -->
    <!-- 该广播需要继承 JPush 提供的 JPushMessageReceiver 类, 并如下新增一个 Intent-Filter -->
    <receiver
        android:name="自定义 Receiver"
        android:enabled="true" 
        android:exported="false" >
        <intent-filter>
            <action android:name="cn.jpush.android.intent.RECEIVE_MESSAGE" />
            <category android:name="您应用的包名" />
        </intent-filter>
    </receiver>

    <!-- User defined. 用户自定义的广播接收器-->
     <receiver
         android:name="您自己定义的 Receiver"
         android:enabled="true"
         android:exported="false">
         <intent-filter>
             <!--Required 用户注册 SDK 的 intent-->
             <action android:name="cn.jpush.android.intent.REGISTRATION" />
             <!--Required 用户接收 SDK 消息的 intent-->
             <action android:name="cn.jpush.android.intent.MESSAGE_RECEIVED" />
             <!--Required 用户接收 SDK 通知栏信息的 intent-->
             <action android:name="cn.jpush.android.intent.NOTIFICATION_RECEIVED" />
             <!--Required 用户打开自定义通知栏的 intent-->
             <action android:name="cn.jpush.android.intent.NOTIFICATION_OPENED" />
             <!-- 接收网络变化 连接/断开 since 1.6.3 -->
             <action android:name="cn.jpush.android.intent.CONNECTION" />
             <category android:name="您应用的包名" />
         </intent-filter>
     </receiver>

    <!-- Required. For publish channel feature -->
    <!-- JPUSH_CHANNEL 是为了方便开发者统计 APK 分发渠道。-->
    <!-- 例如: -->
    <!-- 发到 Google Play 的 APK 可以设置为 google-play; -->
    <!-- 发到其他市场的 APK 可以设置为 xxx-market。 -->
    <meta-data android:name="JPUSH_CHANNEL" android:value="developer-default"/>
    <!-- Required. AppKey copied from Portal -->
    <meta-data android:name="JPUSH_APPKEY" android:value="您应用的 Appkey"/>

创建两个Activity继承BroadcastReceiver

第一个里面不写代码,第二个里面写上跳转

第二个里面写入

@Override
    public void onReceive(Context context, Intent intent) {
        if(intent.getAction().equals("cn.jpush.android.intent.NOTIFICATION_OPENED")){
            Intent intent1 = new Intent(context, LoginActivity.class);
            intent1.putExtra("pid","1");
            intent1.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP |Intent.FLAG_ACTIVITY_NEW_TASK);
            context.startActivity(intent1);

        }
    }

创建Appclication配置

public class JPushAppclication extends Application {
    @Override
    public void onCreate() {
        super.onCreate();
        JPushInterface.setDebugMode(true);
        JPushInterface.init(this);
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在uni-app中,我们可以通过以下步骤实现极光推送点击通知跳转到某个页面。 第一步是引入极光推送插件,可以通过uni-app官方插件市场或者手动下载插件并导入项目中。 第二步是在App.vue文件中配置极光推送相关信息,包括appKey和masterSecret等。具体配置信息可以在极光推送的开发者后台获取。 第三步是在App.vue文件中监听极光推送点击事件,当用户点击通知时触发相应的回调函数。 第四步是在回调函数中处理点击通知的逻辑,包括获取通知的内容和参数,根据参数决定跳转到哪个页面。 具体示例代码如下所示: ``` // 在App.vue文件中监听极光推送点击事件 onShow: function() { // 监听点击通知事件 uni.$on('jpush.click', this.onJpushClick); }, // 处理点击通知的逻辑 onJpushClick: function(payload) { // 获取通知的内容和参数 var content = payload.content; var params = payload.extras; // 根据参数决定跳转到哪个页面 if (params.page === 'home') { uni.navigateTo({ url: '/pages/home/home' }); } else if (params.page === 'about') { uni.navigateTo({ url: '/pages/about/about' }); } else { // 默认跳转到首页 uni.navigateTo({ url: '/pages/home/home' }); } }, ``` 以上就是通过uni-app实现极光推送点击通知跳转到某个页面的步骤和示例代码。通过监听点击事件,我们可以在回调函数中处理逻辑,根据通知的参数跳转到相应的页面
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值