需求: 用户通过APP 进入跳转进入到抖音App 中的个人主页.
上才艺 我用的是mumu模拟器,每次打开抖音的时候 都会提示你版本的问题,大家可以忽略.
Android应用启动另一个应用的方法
(1)通过特定的包名拉起
(2)通过scheme拉起
这里我就介绍的是通过scheme 拉起抖音
抖音App scheme支持定义
代码语言:javascript复制 <!--抖音-->
<intent-filter >
<action android:name="com.ss.android.sdk.snssdk1128" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<intent-filter >
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<data android:scheme="snssdk1128" />
</intent-filter>
下一步就是发起Intent 准备调用了
代码语言:javascript复制 Intent intent = new Intent();
// 93325972684 这个是抖音中的userID 不是抖音号!!
intent.setData(Uri.parse("snssdk1128://user/profile/93325972684"));
startActivity(intent);
代码完善一下 判断是否安装抖音短视频App,如果没有安装弹出提示
代码语言:javascript复制findViewById(R.id.btn).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
boolean b = checkAppInstalled(XXDemoActivity.this, "com.ss.android.ugc.aweme");
if (b) {
Intent intent = new Intent();
intent.setData(Uri.parse("snssdk1128://user/profile/93325972684"));
startActivity(intent);
} else {
Toast.makeText(XXDemoActivity.this, "未安装此应用", Toast.LENGTH_SHORT).show();
}
}
});
判断包名的工具方法
代码语言:javascript复制 private boolean checkAppInstalled(Context context, String pkgName) {
if (pkgName == null || pkgName.isEmpty()) {
return false;
}
final PackageManager packageManager = context.getPackageManager();
List<PackageInfo> info = packageManager.getInstalledPackages(0);
if (info == null || info.isEmpty())
return false;
for (int i = 0; i < info.size(); i ) {
if (pkgName.equals(info.get(i).packageName)) {
return true;
}
}
return false;
}
注意!!
写到这里大家最关系的就是如何获取抖音app的UserId了,在以往版本 需要用户分享视频链接,再使用浏览器打开,就能获取到用户Id,但是最近抖音App优化了分享链接,所以用户是无法通过分享视频链接在浏览器打开的方式获取到用户Id的.
我这里的方法点击开抖音 我的,然后那个三个横杠的位置,然后点击设置,进入到设置页面. 看见这个抖音版本号了吧. 啥也别问狂点就完了! 然后你就可以看见UserId了.
[希望这篇文章可以帮到你]