小编jox*_*jox的帖子

使用SAF(存储访问框架)的Android SD卡写权限

关于如何在SD卡(android 5及以上版本)中编写(和重命名)文件的大量调查结果后,我认为android提供的新SAF需要获得用户写入SD卡文件的许可.

我在这个文件管理器应用程序ES文件资源管理器中看到,最初它采用以下方式读取和写入权限,如图片所示.

在此输入图像描述

图2

选择SD卡后,授予写入权限.

因此我尝试使用SAF的方式相同,但重命名文件失败了.我的代码:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    rename = (Button) findViewById(R.id.rename);

    startActivityForResult(new Intent(Intent.ACTION_OPEN_DOCUMENT_TREE), 42);
}

@Override
public void onActivityResult(int requestCode,int resultCode,Intent resultData) {
    if (resultCode != RESULT_OK)
        return;
    Uri treeUri = resultData.getData();
    DocumentFile pickedDir = DocumentFile.fromTreeUri(this, treeUri);
    grantUriPermission(getPackageName(), treeUri, Intent.FLAG_GRANT_READ_URI_PERMISSION | Intent.FLAG_GRANT_WRITE_URI_PERMISSION);
    getContentResolver().takePersistableUriPermission(treeUri, Intent.FLAG_GRANT_READ_URI_PERMISSION | Intent.FLAG_GRANT_WRITE_URI_PERMISSION);
}

public void renameclick(View v) {
    File ff = new File("/storage/sdcard1/try1.jpg");
    try {
        ff.createNewFile();
    } catch (Exception e) {
        Log.d("error", "creating");
        e.printStackTrace();
    }
} …
Run Code Online (Sandbox Code Playgroud)

android android-sdcard storage-access-framework android-5.0-lollipop documentfile

19
推荐指数
1
解决办法
2万
查看次数

THREE.JS 和按钮开始和暂停动画

我尝试从我的THREE.jsGUI启动动画。

我有两个按钮,分别是“ Start”和“ Reset”动画。首先,当我点击“开始”按钮时,动画必须启动(动画是一个球体的旋转)并且这个按钮的文本设置为“ Pause”。动画启动后,我可以再次单击以暂停和停止动画。

我的问题是,我不知道要处理的动画渲染这些点击的和render()THREE.JS

这是我目前所做的:

// Boolean for start and restart
var initAnim = true;
var runAnim = false;

// Buttons startButton and resetButton
var startButton = document.getElementById( 'startButtonId' );
var resetButton = document.getElementById( 'resetButtonId' );

// Start Button
startButton.onclick = function StartAnimation() {
  if (initAnim) {
    initAnim = false;
    runAnim = true;
    theta = 0;
  }
  // Start and Pause 
  if (runAnim) {
    startButton.innerHTML = 'Pause';
    runAnim = …
Run Code Online (Sandbox Code Playgroud)

javascript animation three.js

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