小编sea*_*npj的帖子

Google API客户端的多个实例?

我有活动A实例化GoogleApiClient,连接并开始在AsyncTask中处理可能需要几秒或几分钟.

同时,用户触发活动B,通过连接实例化自己的GoogleApiClient.

现在的问题是:能在应用已连接,同时工作GoogleApiClient的多个实例,或者我应该保持我自己的信号灯的应用程序单身?

google-drive-api google-drive-android-api

16
推荐指数
2
解决办法
8066
查看次数

Android Studio 1.0'rowProguard'vs'minifyEnabled'

在从Android Studio 0.9迁移到1.0期间,我不得不更改该子句

buildTypes {
  release {
-     runProguard true
+     minifyEnabled true
}
Run Code Online (Sandbox Code Playgroud)

此处推荐.

我的应用正在运行标准同步适配器

public class SyncAdptr extends AbstractThreadedSyncAdapter {
  private static Context mCtx;

  public SyncAdptr(Context ctx, boolean autoInit) { 
    super(ctx, autoInit); mCtx = ctx; 
  }

  static void syncStart(Account gooAcct, String authority) {
    ...
    ContentResolver.setSyncAutomatically(gooAcct, authority, true);
    ...
  }
  ...
}
Run Code Online (Sandbox Code Playgroud)

作为服务:

public class SyncService extends Service {
  private static final Object sSyncAdapterLock = new Object();
  private static SyncAdptr sAndyScanSyncAdapter = null;

  @Override
  public void onCreate() …
Run Code Online (Sandbox Code Playgroud)

android synchronization proguard android-studio

13
推荐指数
0
解决办法
8296
查看次数

如何在新版Google云端硬盘Android API下切换帐户

我在新版Google云端硬盘Android API中的授权流程如下:

  1. 菜单:选择帐户
  2. 连接();
  3. onConnectionFailed()result.startResolutionForResult()调用AccountSelectDialog/DriveAuthorization
  4. onConnected()做你的东西

奇迹般有效.现在重复以切换帐户为目标:

  1. 菜单:选择帐户
  2. 连接();
  3. onConnected()

在这里,我没有机会进入AccountSelectDialog,因为我从未使用'result'来获取onConnectionFailed()来调用startResolutionForResult().这次我错过了什么?

android google-drive-api google-drive-android-api

10
推荐指数
3
解决办法
9078
查看次数

usingOAuth2已弃用?

我一直在开发使用Google Drive API的Android应用.它最初是从这里quickstart示例构建的.简化的API调用序列(此处未显示正确的错误处理)是:

 GoogleAccountCredential cred = GoogleAccountCredential.usingOAuth2(this, DriveScopes.DRIVE_FILE);
 cred.setSelectedAccountName("...");  
 Drive drvSvc = new Drive.Builder (AndroidHttp.newCompatibleTransport(), new GsonFactory(), cred).build();
 FileList gooLst = drvSvc.files().list().setMaxResults(MAX_DOWN).setQ(_rqst).execute();
Run Code Online (Sandbox Code Playgroud)

它一直工作正常,我即将发布我的应用程序.但突然之间,在Drive API更新后,我收到了警告

不推荐使用GoogleAccountCredential类型中使用OAuth2(Context,String,String ...)的方法

发生了什么?还有另一种获取凭证的方法吗?是否有可在任何地方使用的快速启动示例的编辑版本?

提前感谢您的任何澄清.肖恩

android oauth-2.0 google-drive-api

9
推荐指数
1
解决办法
5496
查看次数

Google Drive Android API中DriveId.getResourceId()的不可预知的结果

问题是来自' DriveId.getResourceId() ' 的'resourceID' 在新创建的文件(' DriveFolder.createFile(GAC,meta,cont) '的产品)上不可用(返回NULL ).如果通过常规列表或查询过程检索文件,则'resourceID'是正确的.

我怀疑这是一个时间/延迟问题,但目前尚不清楚是否存在强制刷新的应用程序操作." Drive.DriveApi.requestSync(GAC) "似乎没有任何效果.

google-drive-android-api

7
推荐指数
2
解决办法
3723
查看次数

如何从Android中的谷歌驱动器中选择文件?

有没有办法在Android应用程序中启动谷歌驱动器的文件选择器 - 做类似于这个http://googleappsdeveloper.blogspot.com/2012/08/allowing-user-to-select-google-drive.html.我需要允许用户从谷歌驱动器中选择文件,所以我可以在我的应用程序中使用它们的字节.谢谢.

android filepicker google-drive-api google-drive-android-api

6
推荐指数
2
解决办法
5710
查看次数

垃圾邮件,删除新的Google云端硬盘Android API?

更新(2015年5月):
"垃圾"功能已在GDAA中实施,使下面的问题无关紧要.

原始问题:
当我使用新的"Google Drive Android API"(GDAA)时,我遇到了一些我无法弄清楚的差异.基本上,我有一个使用"com.google.api.services.drive"界面(插入,补丁,更新)的旧应用程序,我很乐意将其移植到GDAA.

首先,GDAA与drive.google.com网络应用.
使用旧服务,我使用了DriveScopes.DRIVE_FILE范围,因此我假设了类似的行为/结果.使用旧的"DriveScopes.DRIVE_FILE"创建的文件可以由我("驱动程序所有者")在" https://drive.google.com "中删除(我假设我的范围是DRIVE那里),后续的Android应用查询将无法找到他们.它表现得像我期望的那样:

  1. Android应用创建文件.
  2. 用户在"drive.google.com"上删除它们.
  3. Android应用程序不再看到它们了.

使用新的GDAA,它似乎不起作用.这让我想到了第二点:

DELETE/TRASH功能.
我试图测试CRUD功能,根本找不到DELETE(再次,它可能是我的无知/短视).从"drive.google.com"中删除它们会让它们在那里隐身,但Android应用仍会看到它们.元数据可以查询"isTrashed()",但"MetadataChangeSet.Builder"中没有任何内容可以让我删除/删除它们,只有setMimeType(),setStarred(),setTitle().

我迷路了,请帮忙.

google-drive-api google-drive-android-api

6
推荐指数
2
解决办法
5060
查看次数

Google云端硬盘Android Api ChangeEvent侦听器工作方式

我正在滥用这个论坛来征求GDAA通知功能的预期用途的解释(来自GDAA支持团队).这里的文档足以实现它,并且两个相关的SO问题2298049722778501涉及相同的主题.但我无法理解它的用途.这是一个例子.

  • 设备A'触摸'Drive对象并立即获得通知.
  • 设备B'触摸'相同的Drive对象,并且设备A在" 稍后某个时间 " 得到通知,即使两个设备都在wifi上.

那么,有什么好处呢?某个特定设备上的应用程序知道它只是修改了一个对象,不需要通知.另一方面,如果它通知另一个设备修改了具有CONSIDERABLE(分钟)延迟的对象,那么如何实现同步呢?或者如何使用呢?我被建议使用'requestSync()',但没有看到任何差异(此外,它与直接轮询有何不同).
今天,我可以通过轮询可靠地同步多个设备,但无法使其与未按时通知的通知一起使用.

google-drive-android-api

6
推荐指数
0
解决办法
410
查看次数

Google 云端硬盘文档时间戳

我假设ModifiedDate搜索字段是修改日期(显然)或上传到驱动器的日期。有没有办法在其本机系统上保留文件的原始创建日期?或者有没有可能修改这个字段?谢谢你,肖恩

google-drive-api

5
推荐指数
1
解决办法
3万
查看次数

Google Drive Android API(GDAA)getResourceId()返回null(计时问题)

在测试SO 22295903中讨论的删除,垃圾功能时,我遇到了这个问题.

1 /创建包含内容的文件

GoogleApiClient _gac;
DriveFile createFileWait(DriveFolder fldr, String name, String mime, byte[] buff) {
  DriveFile drvFile = null;
  try { 
    ContentsResult rslt = Drive.DriveApi.newContents(_gac).await();
    if (rslt.getStatus().isSuccess()) {
      Contents cont = rslt.getContents();    
      cont.getOutputStream().write(buff);
      MetadataChangeSet meta = (mime == null) ?
          new MetadataChangeSet.Builder().setTitle(name).build() :
          new MetadataChangeSet.Builder().setTitle(name).setMimeType(mime).build();
      drvFile = fldr.createFile(_gac, meta, cont).await().getDriveFile();
    }
  } catch (Exception e) {}
  return drvFile;
}
Run Code Online (Sandbox Code Playgroud)

2 /使用查询检索文件(它的标题):

ArrayList<DriveId> findAll(String title, String mime, DriveFolder fldr) {
  ArrayList<DriveId> dIDs = null;
  if (isConnected()) …
Run Code Online (Sandbox Code Playgroud)

android google-drive-api google-drive-android-api

5
推荐指数
1
解决办法
869
查看次数