android - 图库不会在 Android 中使用 Intent 显示图片
问题描述
我在我的另一个项目中尝试了相同的代码,并且运行良好。我的问题是,当我单击选择照片时,它应该打开图库以选择要上传的图片。但是,我的显示如下:
我拥有的另一个应用程序正在图库中显示图片。看一看:
我已经仔细检查过,我可以看到我已经使用了正确的权限与此代码。
AndroidManifest.xml
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="com.example.devcash">
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".WhyDevcash"></activity>
<activity android:name=".HelpCenterEmployees" />
<activity
android:name=".MainActivity"
android:screenOrientation="landscape" />
<meta-data
android:name="com.google.android.gms.vision.DEPENDENCIES"
android:value="barcode" />
</application>
</manifest>
这是我的 MainActivity 的片段
private static final int PICK_IMAGE = 100;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_add_employee);
choosephoto = (LinearLayout) findViewById(R.id.empchoosephoto);
choosephoto.setOnClickListener(this);
}
@Override
public void onClick(View v) {
int sid = v.getId();
switch (sid){
case R.id.empchoosephoto:
Intent gallery = new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.INTERNAL_CONTENT_URI);
startActivityForResult(gallery, PICK_IMAGE);
break;
}
}
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(requestCode!=0){
if(data!=null){
empimageUri = data.getData();
empimage.setImageURI(empimageUri);
}
}
}
你能告诉我这个我缺少什么吗?
解决方案
intent.setType("image/*");
intent.setAction(Intent.ACTION_GET_CONTENT);
startActivityForResult(Intent.createChooser(intent, "Select Picture"), PICK_IMAGE);
试试这个,你选择图像的意图可能是错误的
推荐阅读
- android - Android 改造 2 发布带有动态标头的原始 json
- c# - 如何为非管理员用户安排任务?
- python - 从 flask_sqlalchemy 导入 SQLAlchemy 找不到模块
- javascript - P5.js 流体彩虹效果
- json - 是否有用于从 DF 创建嵌套 JSON 文件的 python 函数?
- angular - 禁用时表单控件值变为空 OnSubmit
- python - 从 ModelMultipleChoiceField 复选框中检索值
- python-3.x - Pyomo ModelFactory(多个子模型的模型)使用 OOP 进行设计
- r - 编写间接引用变量以绕过硬编码的R代码效率低下吗?
- python - 根据源文件重新排列文件中的行