于是我找到了一个提示用户打开设备图库的功能。但是在四处搜索时,我找不到任何可以帮助我修改它以返回图像路径的东西。他们说了一些关于 onActivityResult() 的事情,我把它放在了 void 本身上,然后被拒绝了。对此有什么帮助吗?
public void chooser() {
AlertDialog.Builder myDialog
= new AlertDialog.Builder(IPAddress.this);
myDialog.setTitle("Import Menu Images");
LinearLayout layout = new LinearLayout(IPAddress.this);
layout.setOrientation(LinearLayout.VERTICAL);
myDialog.setView(layout);
myDialog.setPositiveButton("Open Folder", new DialogInterface.OnClickListener() {
// do something when the button is clicked
public void onClick(DialogInterface arg0, int arg1) {
Intent i = new Intent(
Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
startActivityForResult(i, 1);
}
});
myDialog.setNegativeButton("Exit", new DialogInterface.OnClickListener() {
// do something when the button is clicked
public void onClick(DialogInterface arg0, int arg1) {
arg0.dismiss();
}
});
myDialog.show();
}
我希望它返回所选图像的路径,然后我将使用该路径复制所述文件并将其保存到我在活动的 OnCreate 上创建的目录中。
另外,我似乎无法调试上述功能,因为当我单击“打开文件夹”按钮时,它会给出一个错误提示
The application Camera(process.com.android.gallery) has stopped unexpectedly. Please try again.
我已经尝试过多次了。我什至在模拟器中添加了前置摄像头。
该函数在这里调用:
Button menu_image = (Button) findViewById(R.id.menu_image);
menu_image.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View arg0) {
chooser();
}
});
因此,如果可能的话,我希望选择器返回一个字符串(?)类型,然后我将其用于文件复制然后重命名。