【问题标题】:java.lang.SecurityException: Tango Permission Denied. No ADF permissionjava.lang.SecurityException:探戈权限被拒绝。没有 ADF 许可
【发布时间】:2014-11-06 23:27:57
【问题描述】:

我一直试图通过从演示应用程序中导出 ADF 数据来理解这些数据。 但是,当我尝试执行导出时,它抱怨没有 ADF 权限。 我在 REQUEST_TANGO_PERMISSION 之后立即调用导出例程,但我仍然无法读取 ADF。

我访问了在线文档,但找不到此权限请求意图的名称。有人知道如何要求这个吗?由于它是基于意图的,我假设它应该以与主要 REQUEST_TANGO_PERMISSION 相同的方式请求。

感谢您的帮助

克里斯托弗

【问题讨论】:

    标签: java android google-project-tango


    【解决方案1】:

    你应该调用一个intent来导出/导入adfs,你调用的intent需要指定目标位置或者ADF的uuid。请查看文档here(导入/导出部分)

    private static final String INTENT_CLASSPACKAGE = "com.projecttango.tango";
    private static final String INTENT_IMPORTEXPORT_CLASSNAME = "com.google.atap.tango.RequestImportExportActivity";
    // startActivityForResult requires a code number.
    private static final String EXTRA_KEY_SOURCEUUID = "SOURCE_UUID";
    private static final String EXTRA_KEY_DESTINATIONFILE = "DESTINATION_FILE";
    Intent exportIntent = new Intent();
    exportIntent.setClassName(INTENT_CLASSPACKAGE, INTENT_IMPORTEXPORT_CLASSNAME);
    exportIntent.putExtra(EXTRA_KEY_SOURCEUUID, mUUIDList[info.position]);
    exportIntent.putExtra(EXTRA_KEY_DESTINATIONFILE, mAppSpaceADFFolder);
    thisActivity.startActivityForResult(exportIntent, Tango.TANGO_INTENT_ACTIVITYCODE);
    

    【讨论】:

    • 谢谢!这正是我一直在寻找的,但我在浏览文档时忽略了它。
    • Jason Guo,如果不是通过 uuids = mTango.listAreaDescriptions(); 我怎么能访问到 uuid我一直在尝试使用意图方式,即使文档说不应该有任何特殊权限来使用 exportAreaDescriptionFile(),我仍然无法做到。它仍然抱怨权限。
    • 我无法执行 exportAreaDescriptionFile() 但即使设备提示该权限,文件也不会被写入 sdcard。我正在执行以下操作: File f = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS);文件 file = new File(f, "file.adf"); mTango.exportAreaDescriptionFile(uuid, file.getAbsolutePath());你知道为什么会出错吗?
    • @kriztho exportAreaDescriptionFile() 实际上是一个弃用的函数,你不应该再使用它了。现在正在通过意图处理导出和导入。这意味着,例如,您要导出 ADF,调用 exportIntent.putExtra(EXTRA_KEY_SOURCEUUID, uuid);指定要导出的 uuid。然后调用 exportIntent.putExtra(EXTRA_KEY_DESTINATIONFILE, target_path);指定路径。并调用意图。用户授予权限后,tango_core 会将 ADF 移动到您提供的路径。如果用户拒绝该权限,那么什么都不会发生..
    • 感谢您的解释。我很抱歉再次回到这个问题上。我已完成您指示的所有操作,但仍然无法将文件写入系统。但是,我确实注意到,我在 logcat 上不断收到一条错误消息,上面写着 VersionCode 2705。您认为这可能与我无法导出文件并将其有效地写入外部存储的原因有关吗?我一直在提供目录路径和文件绝对路径,但仍然没有结果。
    【解决方案2】:

    使用您尝试访问的类检查演示应用的权限。如果不是这样,请向我展示一些代码,以便社区可以帮助您找出问题。因为到目前为止,我能想到的只有这些。

    【讨论】:

      猜你喜欢
      • 2011-02-27
      • 2023-03-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-02-28
      相关资源
      最近更新 更多