Android 如何从谷歌硬盘下载视频?
我可以下载视频和图像,但无法播放(不支持文件格式,或者文件是否已损坏?。Android 如何从谷歌硬盘下载视频?,android,google-drive-api,Android,Google Drive Api,我可以下载视频和图像,但无法播放(不支持文件格式,或者文件是否已损坏?。 我无法从google drive获取可播放的视频。 任何帮助都是值得的 -我的按钮一次点击到谷歌硬盘 open.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { onClickOpenFile(v); } }); p
我无法从google drive获取可播放的视频。
任何帮助都是值得的 -我的按钮一次点击到谷歌硬盘
open.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
onClickOpenFile(v);
}
});
public void onClickOpenFile(View view) {
fileOperation = false;
// create new contents resource
Drive.DriveApi.newDriveContents(mGoogleApiClient)
.setResultCallback(driveContentsCallback);
}
打开谷歌硬盘的文件夹和文件列表
public void OpenFileFromGoogleDrive() {
IntentSender intentSender = Drive.DriveApi
.newOpenFileActivityBuilder()
.setMimeType(new String[]{"image/jpeg", "image/png", "video/mp4"
, "application/vnd.openxmlformats-officedocument.wordprocessingml.document"})
.build(mGoogleApiClient);
try {
startIntentSenderForResult(
intentSender, REQUEST_CODE_OPENER, null, 0, 0, 0);
} catch (IntentSender.SendIntentException e) {
Log.e(TAG, "Unable to send intent", e);
}
}
final ResultCallback<DriveApi.DriveContentsResult> driveContentsCallback =
new ResultCallback<DriveApi.DriveContentsResult>() {
@Override
public void onResult(DriveApi.DriveContentsResult result) {
if (result.getStatus().isSuccess()) {
OpenFileFromGoogleDrive();
}
}
};
@Override
protected void onActivityResult(final int requestCode,
final int resultCode, final Intent data) {
switch (requestCode) {
case REQUEST_CODE_OPENER:
if (resultCode == RESULT_OK) {
video_url = "https://drive.google.com/open?id=" + mFileId.getResourceId();
Intent i = new Intent(Intent.ACTION_VIEW);
i.setData(Uri.parse(video_url));
startActivity(i);
}
break;
default:
super.onActivityResult(requestCode, resultCode, data);
break;
}
}
public void OpenFileFromGoogleDrive(){
IntentSender IntentSender=Drive.DriveApi
.newOpenFileActivityBuilder()
.setMimeType(新字符串[]{“image/jpeg”、“image/png”、“video/mp4”
,“application/vnd.openxmlformats officedocument.wordprocessingml.document”})
.构建(mGoogleApiClient);
试一试{
startinentsenderforresult(
intentSender,请求\代码\开启器,null,0,0);
}catch(IntentSender.sendtintentexe){
Log.e(标记“无法发送意图”,e);
}
}
最终结果回拨驱动器内容回拨=
新的ResultCallback(){
@凌驾
public void onResult(DriveApi.DriveContentsResult结果){
if(result.getStatus().issucess()){
OpenFileFromGoogleDrive();
}
}
};
@凌驾
受保护的无效onActivityResult(最终整数请求代码,
最终int结果代码,最终意图数据){
开关(请求代码){
案例请求\代码\开场白:
if(resultCode==RESULT\u OK){
视频_url=”https://drive.google.com/open?id=“+mFileId.getResourceId();
意向i=新意向(意向.行动\视图);
i、 setData(Uri.parse(video_url));
星触觉(i);
}
打破
违约:
super.onActivityResult(请求代码、结果代码、数据);
打破
}
}