android打开抖音拍摄页
抖音版本为12.6.0及其以上支持打开抖音拍摄页。
在使用这个功能之前,必须要安装抖音
第一步:权限申请
向抖音短视频申请你的clientkey及相关权限请到开发者应用登记页面进行申请,申请后将获得clientkey。之后通过clientkey为应用申请相关的权限,如打开抖音拍摄页(aweme.capture)等。审核通过后即可使用相关的功能。
第二步:集成sdk
第三步:接入步骤
1、初始化
在Application中,初始化 DouYinOpenApiFactory
@Override
public void onCreate() {
super.onCreate();
String clientkey = "[Client Key]"; // 修改为在开发者应用登记页面申请的clientkey
DouYinOpenApiFactory.init(new DouYinOpenConfig(clientkey));
}
2、Manifest中申请权限,注册接收回调activity
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<!--如果第三方自定义了接收回调的activity则可以跳过此步骤-->
<!--置于application结点下-->
<activity android:name=".douyinapi.DouYinEntryActivity"
android:launchMode="singleTask"
android:taskAffinity="你的包名"
android:exported="true">
</activity>
3、打开抖音拍摄页
DouYinOpenApi douyinOpenApi = DouYinOpenApiFactory.create(this);
OpenRecord.Request request = new OpenRecord.Request();
// 添加hashtag
//ArrayList<String> tags = new ArrayList<>();
//if (tags.size() > 0) {
// request.mHashTagList = tags;
//}
// 如有需求可添加小程序,需申请小程序权限
// MicroAppInfo mMicroInfo = new MicroAppInfo();
// mMicroInfo.setAppTitle("小程序title");
// mMicroInfo.setDescription("小程序描述");
// mMicroInfo.setAppId("ttef9b992670b151ec");
// mMicroInfo.setAppUrl("pages/movie/index?utm_source=share_wxapp&cityId=10&cityName=%E4%B8%8A%E6%B5%B7");
//request.mMicroAppInfo = mMicroInfo;
// 填写你的shareid,如果无则不填写
request.mState ="state";
if(douyinOpenApi !=null&&douyinOpenApi.isSupportOpenRecordPage()) {
// 判断抖音版本是否支持打开抖音拍摄页
douyinOpenApi.openRecordPage(request);
}

发布携带小程序相关:
点击开通分享内容携带小程序 注意:抖音 6.7.0 以上版本可用
4、接收发布视频回调
public class DouYinEntryActivity extends Activity implements IApiEventHandler {
DouYinOpenApi douYinOpenApi;
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
douYinOpenApi = DouYinOpenApiFactory.create(this);
douYinOpenApi.handleIntent(getIntent(), this);
}
@Override
public void onReq(BaseReq req) {
}
@Override
public void onResp(BaseResp resp) {
if (resp instanceof OpenRecord.Response) {
Toast.makeText(this, "error code:" + resp.errorCode + " error Msg:" + resp.errorMsg, Toast.LENGTH_LONG).show();
finish();
}
}
@Override
public void onErrorIntent(@Nullable Intent intent) {
// 错误数据
Toast.makeText(this, "Intent出错", Toast.LENGTH_LONG).show();
}
}
注意,若您的应用的代码存在混淆情况,吊起抖音拍摄页之后,不能拿到拍摄结果的回调,请将您接收回调的activity(DouYinEntryActivity或者您自定义的回调activity也加入免混淆清单
第四步:使用openapi获取发布在抖音的视频
详情请查看这篇文档
第五步:错误码
错误码 | 描述 |
---|---|
20002 | 无效请求参数 |
20003 | 打开拍摄页无权限,请在官网申请权限 |
20004 | 用户手动取消登录 |
20005 | 用户未授权使用相册 |
20006 | 请求授权时网络出错 |
20013 | 用户手动取消发布 |
20015 | 用户存为草稿 |
20019 | 观看直播时不允许打开拍摄页 |
20020 | 直播时不允许打开拍摄页 |
20021 | 插件下载失败 |
诚邀您对本文档易读易用性进行评价
好用
不好用