Google Drive集成-使用我的Android应用程序编辑、删除、下载和更新
我已经用我的Android应用程序实现了Google Drive。我可以在应用程序中查看我的所有文件。现在我想实现删除和更新谷歌驱动器文件 这是我当前的代码:Google Drive集成-使用我的Android应用程序编辑、删除、下载和更新,android,google-drive-api,Android,Google Drive Api,我已经用我的Android应用程序实现了Google Drive。我可以在应用程序中查看我的所有文件。现在我想实现删除和更新谷歌驱动器文件 这是我当前的代码: public void OpenFileFromGoogleDrive() { IntentSender intentSender = Drive.DriveApi .newOpenFileActivityBuilder() .setMimeType(new
public void OpenFileFromGoogleDrive() {
IntentSender intentSender = Drive.DriveApi
.newOpenFileActivityBuilder()
.setMimeType(new String[]{"text/plain", "text/html"})
.build(mGoogleApiClient);
try {
startIntentSenderForResult(
intentSender, REQUEST_CODE_OPENER, null, 0, 0, 0);
}
catch (SendIntentException e) {
Log.w(TAG, "Unable to send intent", e);
}
}
final ResultCallback<DriveContentsResult> driveContentsCallback =
new ResultCallback<DriveContentsResult>() {
@Override
public void onResult(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) {
mFileId = (DriveId) data.getParcelableExtra(
OpenFileActivityBuilder.EXTRA_RESPONSE_DRIVE_ID);
Log.e("file id", mFileId.getResourceId() + ""); // 0B-KGM98PVf2SdkdYTFRXZlNjSjg
/*String url = "https://drive.google.com/open?id="+ mFileId.getResourceId();
Intent i = new Intent(Intent.ACTION_VIEW);
i.setData(Uri.parse(url));
startActivity(i);*/
options();
}
break;
default:
super.onActivityResult(requestCode, resultCode, data);
break;
}
}
public void OpenFileFromGoogleDrive(){
IntentSender IntentSender=Drive.DriveApi
.newOpenFileActivityBuilder()
.setMimeType(新字符串[]{“text/plain”,“text/html”})
.构建(mGoogleApiClient);
试一试{
startinentsenderforresult(
intentSender,请求\代码\开启器,null,0,0);
}
捕获(发送){
Log.w(标签“无法发送意图”,e);
}
}
最终结果回拨驱动器内容回拨=
新的ResultCallback(){
@凌驾
public void onResult(DriveContentsResult结果){
如果(result.getStatus().issucess()){
OpenFileFromGoogleDrive();
}
}
};
@凌驾
受保护的无效onActivityResult(最终整数请求代码,
最终int结果代码,最终意图数据){
开关(请求代码){
案例请求\代码\开场白:
if(resultCode==RESULT\u OK){
mFileId=(DriveId)data.getParcelableExtra(
OpenFileActivityBuilder.EXTRA\u响应\u驱动器\u ID);
Log.e(“文件id”,mFileId.getResourceId()+”;//0B-KGM98PVf2SdkdYTFRXZlNjSjg
/*字符串url=”https://drive.google.com/open?id=“+mFileId.getResourceId();
意向i=新意向(意向.行动\视图);
i、 setData(Uri.parse(url));
星触觉(i)*/
选项();
}
打破
违约:
super.onActivityResult(请求代码、结果代码、数据);
打破
}
}
如何使用
DriveId
删除和更新文件?您可以通过以下方式实现此目的:
driveFile = Drive.DriveApi.getFile(mGoogleApiClient,
DriveId.decodeFromString(driveIdStr));
// Call to delete file.
driveFile.delete(mGoogleApiClient).setResultCallback(deleteCallback);
有关更多信息,请查看google drive文档除了@AndroidRuntimeException的答案之外,您可能还需要查看此文档和此文档 到文件:
希望这有帮助 如何使deleteCallback删除DriveFile DriveFile=Drive.DriveApi.getFile(mGoogleApiClient,DriveId.decodeFromString(fileId));//调用以删除文件。delete(mgoogleapclient).setResultCallback(deleteCallback);删除回调处理程序?
/**
* An activity to illustrate how to edit contents of a Drive file.
*/
public class EditContentsActivity extends BaseDemoActivity {
private static final String TAG = "EditContentsActivity";
@Override
public void onConnected(Bundle connectionHint) {
super.onConnected(connectionHint);
final ResultCallback<DriveIdResult> idCallback = new ResultCallback<DriveIdResult>() {
@Override
public void onResult(DriveIdResult result) {
if (!result.getStatus().isSuccess()) {
showMessage("Cannot find DriveId. Are you authorized to view this file?");
return;
}
DriveId driveId = result.getDriveId();
DriveFile file = driveId.asDriveFile();
new EditContentsAsyncTask(EditContentsActivity.this).execute(file);
}
};
Drive.DriveApi.fetchDriveId(getGoogleApiClient(), EXISTING_FILE_ID)
.setResultCallback(idCallback);
}
/**
* An activity to illustrate how to delete contents of a Drive file.
*/
driveFile = Drive.DriveApi.getFile(mGoogleApiClient,
DriveId.decodeFromString(driveIdStr));
// Call to delete file.
driveFile.delete(mGoogleApiClient).setResultCallback(deleteCallback);