c语言编程笔录

首页 >   > 笔记大全

笔记大全

uniapp如何设置通知栏

更新时间:2023-11-13

第一段:设置通知栏样式

要设置通知栏,需要在AndroidManifest.xml文件中添加以下代码:

<meta-data android:name="com.getui.color" android:value="#ff9900"/>
<meta-data android:name="com.getui.icon" android:resource="@mipmap/ic_launcher"/>
<meta-data android:name="com.getui.logo" android:resource="@mipmap/ic_launcher"/>
    

其中,com.getui.color是通知栏背景色,com.getui.icon和com.getui.logo是通知栏图标。

第二段:发送通知栏消息

发送通知栏消息需要使用第三方推送服务,如个推、极光等。以个推为例,代码如下:

uni.request({
    url: 'https://restapi.getui.com/v1/CMVa9Ytb7j9IPxKwjeblN7/push_single',
    method: 'POST',
    header: {
        'content-type': 'application/json'
    },
    data: {
        'message': {
            'appkey': 'CMVa9Ytb7j9IPxKwjeblN7',
            'is_offline': true,
            'offline_expire_time': 1000 * 600,
            'msgtype': 'notification',
            'notification': {
                'style': {
                    'type': 1,
                    'text': '这是一条通知栏消息',
                    'title': '通知栏消息标题',
                    'largeIcon': 'http://docs.getui.com/download/attachments/42273667/logo.png',
                    'logo': 'http://docs.getui.com/download/attachments/42273667/logo.png'
                },
                'transmission_type': true,
                'transmission_content': '这是透传内容'
            },
            'cid': '0f8f86f34e2ca4a5d70a7031dc518fcb',
            'push_info': ''
        },
        'requestid': uni.getStorageSync('requestid'),
        'timestamp': Math.floor(new Date().getTime() / 1000)
    },
    success: (res)=> {
        console.log(res)
    },
    fail: (res)=> {
        console.log(res)
    }
})
    

第三段:处理通知栏点击事件

通知栏点击事件处理需要在App.vue文件中的onLaunch方法中添加以下代码:

if (options && options.query && options.query.payload) {
    let payload=JSON.parse(decodeURIComponent(options.query.payload))
    console.log(payload)
}
    

其中,payload是透传内容。

第四段:总结

通过以上代码示例,我们可以清楚地看到uniapp如何在Android平台上设置通知栏、发送通知栏消息,并且处理通知栏点击事件。