使用urlscheme打开一些流行的app个人中心界面
开发中遇到一个需求,需要使用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("微博","/u/id","sinaweibo://userinfo?uid=id"),
BS("B站","/id","bilibili://space/id"),
XHS("小红书","/user/profile/id","xhsdiscover://user/id"),
DY("抖音","/id","snssdk1128://user/profile/id?refer=web&gd_label=click_wap_profile_follow&type=need_follow&needlaunchlog=1"),
KS("快手","/s/id","kwai://profile/id")
}
- 调用也封装一个方法,满足没有安装app则使用网页打开
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)
}
}