我正在尝试在Android上使用ClipData粘贴文本。以下代码给出了 java.lang.SecurityException 。这并非一直都发生。我应该声明任何使用权限来读取剪贴板吗?
$options = [
'resumable' => true,
'chunkSize' => 524288
];
$uploader = $bucket->getResumableUploader(
fopen('uploads/' . $name, 'r'),
$options
);
try {
$object = $uploader->upload();
} catch (GoogleException $ex) {
$resumeUri = $uploader->getResumeUri();
$object = $uploader->resume($resumeUri);
}
答案 0 :(得分:0)
这个问题已经解决了我的项目,但是对于所有想知道的人,这就是我的解决方法。
首先,我弄清楚了何时发生此错误。那是当我在剪贴板中没有任何文本,而我的应用程序试图进入外部存储并抛出错误时。
然后修复我只是更改方法以验证剪贴板中是否有文本。
就是这样:
ClipboardManager clipboard = getManager(context);
ClipData clip = clipboard.getPrimaryClip();
return clip != null && clip.getItemCount() > 0;
然后就是这样:
ClipboardManager clipboard = getManager(context);
clipboard.getPrimaryClipDescription().hasMimeType(ClipDescription.MIMETYPE_TEXT_PLAIN);