Android Chooser意图在AVD中工作但不在真实设备中/无法找到执行此操作的应用程序
选择器意图在AVD中工作,但在真实手机中不工作。我的手机是samsumg galaxy core。我将我的应用程序发送到我的电子邮件,并在手机中下载并安装。该应用程序在真正的手机上工作,但只有选择器意图部分不工作。在“选择器意图”下,我有3个意图:一个用于从相机拍摄照片,另一个用于从“多媒体资料”中选择照片,另一个用于从视图中删除所选照片。它在选择器中显示消息“找不到执行此操作的应用程序”。我的代码如下 请注意,这是在AVD(模拟器)工作,但不在真正的手机工作。有什么问题吗Android Chooser意图在AVD中工作但不在真实设备中/无法找到执行此操作的应用程序,android,android-intent,camera,gallery,Android,Android Intent,Camera,Gallery,选择器意图在AVD中工作,但在真实手机中不工作。我的手机是samsumg galaxy core。我将我的应用程序发送到我的电子邮件,并在手机中下载并安装。该应用程序在真正的手机上工作,但只有选择器意图部分不工作。在“选择器意图”下,我有3个意图:一个用于从相机拍摄照片,另一个用于从“多媒体资料”中选择照片,另一个用于从视图中删除所选照片。它在选择器中显示消息“找不到执行此操作的应用程序”。我的代码如下 请注意,这是在AVD(模拟器)工作,但不在真正的手机工作。有什么问题吗 ImageB
ImageButton imagebutton = (ImageButton) findViewById(R.id.profile_picture);
imagebutton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent cameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
Intent galleryIntent = new Intent(Intent.ACTION_GET_CONTENT,null);
galleryIntent.setType("image/*");
galleryIntent.addCategory(Intent.CATEGORY_OPENABLE);
Intent removeProfPic = new Intent();
String mPackage ="com.example.myapp";
String mClass = mPackage + "." + "RemoveProfilePic";
removeProfPic.setComponent(new ComponentName(mPackage, mClass));
Intent[] intentArray = {cameraIntent,galleryIntent};
Intent chooser = new Intent(Intent.ACTION_CHOOSER);
chooser.putExtra(Intent.EXTRA_TITLE, "Choose");
chooser.putExtra(Intent.EXTRA_INITIAL_INTENTS, intentArray);
chooser.putExtra(Intent.EXTRA_INTENT, removeProfPic);
startActivityForResult(chooser,1);
}
});
:
:
我还尝试在Androidmanifest.xml中包含以下内容
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.hardware.camera" />
<uses-permission android:name="android.hardware.camera.autofocus" />
您尚未为ex…在intent中设置数据类型
Intent intent = new Intent(Intent.ACTION_SEND);
intent.setType("text/plain");
intent.putExtra(Intent.EXTRA_EMAIL, new String[] { "some@email.address" });
intent.putExtra(Intent.EXTRA_SUBJECT, "subject");
intent.putExtra(Intent.EXTRA_TEXT, "mail body");
startActivity(Intent.createChooser(intent, "Send To"));
这不符合。。。但是为什么您有读取外部存储集两次的权限?您甚至一次都不需要它,因为WRITE_EXTERNAL_存储包括它……谢谢!我删除了副本。为什么没有答案?我搜索了整个网络,但找不到解决方案。。。专家们请帮忙……我的答案并不是真的——只是对我在读你的清单时看到的东西的修正。你仍然有你的问题
:
Intent[] intentArray = {cameraIntent,removeProfPic};
:
:
chooser.putExtra(Intent.EXTRA_INTENT, galleryIntent);
:
Intent intent = new Intent(Intent.ACTION_SEND);
intent.setType("text/plain");
intent.putExtra(Intent.EXTRA_EMAIL, new String[] { "some@email.address" });
intent.putExtra(Intent.EXTRA_SUBJECT, "subject");
intent.putExtra(Intent.EXTRA_TEXT, "mail body");
startActivity(Intent.createChooser(intent, "Send To"));