additem java_Java ClipData.addItem方法代码示例

在Android中,`ClipData.addItem()`方法用于在ClipData对象中添加新的数据项。本文通过Java代码示例解释如何使用此方法。当需要处理多个URI时,这个方法尤其有用。示例代码展示了在不同URI数量情况下,如何利用`ClipData`来构建Intent。
摘要由CSDN通过智能技术生成

import android.content.ClipData; //导入方法依赖的package包/类

@TargetApi(Build.VERSION_CODES.JELLY_BEAN)

private void onFinished(Uri... uris) {

Log.d(TAG, "onFinished() " + Arrays.toString(uris));

final Intent intent = new Intent();

if (uris.length == 1) {

intent.setData(uris[0]);

} else if (uris.length > 1) {

final ClipData clipData = new ClipData(

null, mState.acceptMimes, new ClipData.Item(uris[0]));

for (int i = 1; i < uris.length; i++) {

clipData.addItem(new ClipData.Item(uris[i]));

}

if(Utils.hasJellyBean()){

intent.setClipData(clipData);

}

else{

intent.setData(uris[0]);

}

}

if (mState.action == DocumentsActivity.State.ACTION_GET_CONTENT) {

intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);

} else if (mState.action == ACTION_OPEN_TREE) {

intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION

| Intent.FLAG_GRANT_WRITE_URI_PERMISSION

| Intent.FLAG_GRANT_PERSISTABLE_URI_PERMISSION

| Intent.FLAG_GRANT_PREFIX_URI_PERMISSION);

} else {

intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION

| Intent.FLAG_GRANT_WRITE_URI_PERMISSION

| Intent.FLAG_GRANT_PERSISTABLE_URI_PERMISSION);

}

setResult(Activity.RESULT_OK, intent);

finish();

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值