Dropbox vs Android-是否可以使用“设置角色”;openOrCreateDatastore";?

Dropbox vs Android-是否可以使用“设置角色”;openOrCreateDatastore";?,android,dropbox-api,Android,Dropbox Api,我正在寻找一种解决方案,用我创建的ID在我的数据存储上设置角色。事实上,在上,它解释了如何影响自动生成ID的数据存储的角色 有人可以告诉我,是否有一种解决方案可以影响应用程序用户确定名称的数据存储的角色 我的代码是: title = extras.toLowerCase(); try { datastoreTitle = mDatastoreManager.openOrCreateDatastore(title.toString()); datastoreTitle.setRol

我正在寻找一种解决方案,用我创建的ID在我的数据存储上设置角色。事实上,在上,它解释了如何影响自动生成ID的数据存储的角色

有人可以告诉我,是否有一种解决方案可以影响应用程序用户确定名称的数据存储的角色

我的代码是:

title = extras.toLowerCase();
try {
    datastoreTitle = mDatastoreManager.openOrCreateDatastore(title.toString());
    datastoreTitle.setRole(DbxPrincipal.PUBLIC, DbxDatastore.Role.EDITOR);  
} catch (DbxException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}
运行此代码时,会收到以下错误消息:

10-31 09:11:44.883: E/AndroidRuntime(22716): FATAL EXCEPTION: main
10-31 09:11:44.883: E/AndroidRuntime(22716): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.dvp_list7/com.example.dvp_list7.ListingArticlesDropb}: com.dropbox.sync.android.DbxRuntimeException$IllegalArgument: Operation setRole requires a shareable datastore.
10-31 09:11:44.883: E/AndroidRuntime(22716):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2198)
10-31 09:11:44.883: E/AndroidRuntime(22716):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2248)
10-31 09:11:44.883: E/AndroidRuntime(22716):    at android.app.ActivityThread.access$600(ActivityThread.java:155)
10-31 09:11:44.883: E/AndroidRuntime(22716):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1252)
10-31 09:11:44.883: E/AndroidRuntime(22716):    at android.os.Handler.dispatchMessage(Handler.java:99)
10-31 09:11:44.883: E/AndroidRuntime(22716):    at android.os.Looper.loop(Looper.java:137)
10-31 09:11:44.883: E/AndroidRuntime(22716):    at android.app.ActivityThread.main(ActivityThread.java:5096)
10-31 09:11:44.883: E/AndroidRuntime(22716):    at java.lang.reflect.Method.invokeNative(Native Method)
10-31 09:11:44.883: E/AndroidRuntime(22716):    at java.lang.reflect.Method.invoke(Method.java:511)
10-31 09:11:44.883: E/AndroidRuntime(22716):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
10-31 09:11:44.883: E/AndroidRuntime(22716):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
10-31 09:11:44.883: E/AndroidRuntime(22716):    at dalvik.system.NativeStart.main(Native Method)
10-31 09:11:44.883: E/AndroidRuntime(22716): Caused by: com.dropbox.sync.android.DbxRuntimeException$IllegalArgument: Operation setRole requires a shareable datastore.
10-31 09:11:44.883: E/AndroidRuntime(22716):    at com.dropbox.sync.android.DbxDatastore.checkShareable(DbxDatastore.java:241)
10-31 09:11:44.883: E/AndroidRuntime(22716):    at com.dropbox.sync.android.DbxDatastore.setRole(DbxDatastore.java:314)
10-31 09:11:44.883: E/AndroidRuntime(22716):    at com.example.dvp_list7.ListingArticlesDropb.dataManager(ListingArticlesDropb.java:165)
10-31 09:11:44.883: E/AndroidRuntime(22716):    at com.example.dvp_list7.ListingArticlesDropb.onCreate(ListingArticlesDropb.java:92)
10-31 09:11:44.883: E/AndroidRuntime(22716):    at android.app.Activity.performCreate(Activity.java:5153)
10-31 09:11:44.883: E/AndroidRuntime(22716):    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080)
10-31 09:11:44.883: E/AndroidRuntime(22716):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2162)
10-31 09:11:44.883: E/AndroidRuntime(22716):    ... 11 more

谢谢你的帮助

否,角色仅适用于可共享数据存储,
openOrCreateDatastore
仅返回私有数据存储。在“私有或共享数据存储”下有更多信息。引用其中一点:

使用DbxDatastoreManager.openOrCreateDatastore(id)创建具有专用id的数据存储。私有ID对应用程序的开发人员来说很有意义,例如“默认”(对于默认数据存储)或“设置”。私有ID的范围是当前用户应用程序对

具有可共享ID的数据存储是使用DbxDatastoreManager.createDatastore()创建的,它允许用户之间共享这些数据存储。它们的ID是自动生成的,不仅对用户应用程序对是唯一的,而且在Dropbox中也是唯一的