uniapp如何设置才能被其他app分享列表找到?
在uniapp开发的应用中,如何配置才能让应用出现在其他App的分享列表中?比如微信、QQ等App分享时能识别到我的应用作为接收方。需要设置哪些原生平台的参数或清单文件?iOS和Android的配置是否有区别?
2 回复
在manifest.json中配置App分享功能,添加intent-filter,设置action为android.intent.action.SEND,并声明支持的文件类型(如text/plain)。同时确保应用已上架应用市场。
要让你的 UniApp 应用出现在其他应用的分享列表中,需要配置分享功能,并确保应用信息能被系统识别。以下是关键步骤:
1. 配置 App 分享能力(Manifest.json)
在 manifest.json 文件中设置 uni-app 的分享参数,声明应用支持被分享:
{
"name": "你的应用名称",
"appid": "__UNI__XXXXXX",
"description": "应用描述",
"versionName": "1.0.0",
"versionCode": "100",
"transformPx": false,
/* 5+ App 特有相关 */
"app-plus": {
"usingComponents": true,
"nvueStyleCompiler": "uni-app",
"compilerVersion": 3,
"splashscreen": {
"alwaysShowBeforeRender": true,
"waiting": true,
"autoclose": true,
"delay": 0
},
/* 关键设置:模块配置 */
"modules": {
"Share": {}
},
/* 分发平台配置 */
"distribute": {
"android": {
"permissions": [
"<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>",
"<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>",
"<uses-permission android:name=\"android.permission.VIBRATE\"/>",
"<uses-permission android:name=\"android.permission.READ_LOGS\"/>",
"<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>",
"<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>",
"<uses-permission android:name=\"android.permission.READ_EXTERNAL_STORAGE\"/>",
"<uses-permission android:name=\"android.permission.WRITE_EXTERNAL_STORAGE\"/>"
]
},
"ios": {},
"sdkConfigs": {
"share": {
// 可配置微信、QQ等分享SDK
}
}
}
}
}
2. 实现分享接收页面
创建一个页面用于处理其他应用分享过来的内容,例如 share.vue:
<template>
<view>
<text>分享内容:{{ shareInfo }}</text>
</view>
</template>
<script>
export default {
data() {
return {
shareInfo: ''
}
},
onLoad(options) {
// 接收其他App分享的数据
if (options.text) {
this.shareInfo = decodeURIComponent(options.text)
}
}
}
</script>
3. 配置 URL Scheme(iOS)和 Intent Filter(Android)
Android:
在 manifest.json 的 app-plus->distribute->android 中添加 intentFilters:
"android": {
"intentFilters": [
{
"action": "android.intent.action.VIEW",
"data": [
{
"scheme": "你的应用Scheme",
"host": "share",
"pathPrefix": "/"
}
],
"category": [
"android.intent.category.BROWSABLE",
"android.intent.category.DEFAULT"
]
}
]
}
iOS:
在 manifest.json 的 app-plus->distribute->apple 中配置 urltypes:
"ios": {
"urltypes": [
{
"identifier": "com.yourcompany.yourapp",
"scheme": "你的应用Scheme",
"role": "Editor"
}
]
}
4. 测试分享功能
- 使用其他应用(如微信、浏览器)分享内容时,如果你的应用正确配置,会出现在分享列表中。
- 确保应用已安装,且
URL Scheme或Intent Filter配置正确。
注意事项:
- 应用名称和图标:系统分享列表会显示应用名称和图标,确保它们在
manifest.json中设置正确。 - 平台差异:Android 和 iOS 的配置方式不同,需分别设置。
- 权限:Android 需要存储权限来接收文件分享。
通过以上配置,你的 UniApp 应用就能被其他应用识别并出现在分享列表中。

