开发中遇到一个需求,需要使用urlscheme打开一些主流社交app的个人中心界面进行自己的产品推广,如关注微博,抖音,小红书等,记一下所找到的urlscheme.不了解urlschemems的点击这里了解:URL Schemes
暂时收集到的(将以下的id换为对应平台的账号id即可)
社交app | url scheme | 个人中心 |
---|---|---|
微博 | sinaweibo:// | sinaweibo://userinfo?uid= |
B站 | bilibili:// | bilibili://space/id |
抖音 | snssdk1128:// | snssdk1128://user/profile/id?refer=web&gd_label=click_wap_profile_follow&type=need_follow&needlaunchlog=1 |
小红书 | xhsdiscover:// | xhsdiscover://user/id |
快手 | kwai:// | kwai://profile/id |
封装一下,使用枚举
enum class SocialType(val nam:String,val url:String,val uri: String) {
WX("微信公众号","",""),
QQ("QQ","","mqqapi://card/show_pslcard?src_type=internal&version=1&uin=1519269558&card_type=person&source=qrcode"),
WEIBO("微博","https://weibo.com/u/id","sinaweibo://userinfo?uid=id"),
BS("B站","https://space.bilibili.com/id","bilibili://space/id"),
XHS("小红书","https://www.xiaohongshu.com/user/profile/id","xhsdiscover://user/id"),
DY("抖音","http://v.douyin.com/id","snssdk1128://user/profile/id?refer=web&gd_label=click_wap_profile_follow&type=need_follow&needlaunchlog=1"),
KS("快手","http://m.gifshow.com/s/id","kwai://profile/id")
}
private fun openFollowUs(type:SocialType){
ShowToast.Short(type.name+type.nam)
val intent = Intent(Intent.ACTION_VIEW, Uri.parse(type.uri))
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
try {
startActivity(intent)
} catch (e: Exception) {
e.printStackTrace()
ShowToast.Short("没有匹配的APP,请下载安装 ${e.localizedMessage}")
//下面的代码为封装一个打开网页的activity,自己实现即可
CommonUtils.openWebView(context, type.url)
}
}