我正在尝试为图像实现"设置为"功能.我正在使用Intent.ATTACH_DATA,因此用户至少可以选择联系人照片和壁纸.我应该通过的额外内容让我感到困惑.如果我正确阅读文档,
Intent intent = new Intent(Intent.ACTION_ATTACH_DATA);
intent.setType("image/*");
intent.setData(mImageCaptureUri);
startActivity(Intent.createChooser(intent, "hey"));
Run Code Online (Sandbox Code Playgroud)
应该是全部.这适用于壁纸,但使用百万像素数据,应用程序崩溃,因为无法找到任何裁剪活动.有人有一个有效的例子吗?官方图库应用程序确实设法找到camera.crop活动...
我们也欢迎您在何处找到精心设计的系统意图文档的一般提示.
Nin*_*off 13
经过android源码的漫长而曲折的道路之后,我在默认的gallery(gallery3d)应用程序中找到了实际的代码.我适应了我自己的应用程序,并在其他应用程序中导入时再次重写.如果你使用或欣赏这个,我要求你提出这个答案.
用法:更改第一行以匹配照片的完整路径(以/ mnt /开头).将字符串"set_as"添加到strings.xml作为操作选择器标题.
String absolutepath = MyApplication.appRootDir + relpath;//change for your application
Intent intent = new Intent(Intent.ACTION_ATTACH_DATA);
MimeTypeMap map = MimeTypeMap.getSingleton();
String ext = absolutepath.substring(absolutepath.lastIndexOf('.') + 1);
String mimeType = map.getMimeTypeFromExtension(ext);
Uri uri = Uri.fromFile(new File(absolutepath));
intent.setDataAndType(uri, mimeType);
intent.putExtra("mimeType", mimeType);
intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
Activity activity = (Activity) this;
activity.startActivity(Intent.createChooser(
intent, activity.getString(R.string.set_as)));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4245 次 |
| 最近记录: |