スイッチを使用して、button2 が選択されたときにアプリケーションでユーザーが SD カードから画像を選択できるようにしました。
OnActivityResult で画像 uri を取得します。この URI ファイルパスを取得し、Action_send 関数を使用して同じアクティビティ内のボタン 1 で使用します。
public void onClick(View v) {
// TODO Auto-generated method stub
switch (v.getId()){
case R.id.button1:
Intent i = new Intent(Intent.ACTION_SEND);
Uri blah = Uri.parse(selectedImagePath);
i.setType("image/*");
i.putExtra(Intent.EXTRA_STREAM, blah);
startActivity(Intent.createChooser(i, "title")); // TODO Auto-generated method stub
break;
case R.id.button2:
Intent intent = new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
startActivityForResult(intent, PICK_FROM_FILE);
break;
}
}
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == RESULT_OK){
if(requestCode == PICK_FROM_FILE){
imageUri = data.getData();
//gotimage.setImageURI(selectedImageUri);
selectedImagePath = getPath(imageUri);
}
}
}
private String getPath(Uri selectedImageUri) {
// TODO Auto-generated method stub
String[] projection = { MediaStore.Images.Media.DATA };
Cursor cursor = managedQuery(imageUri, projection, null, null, null);
int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
cursor.moveToFirst();
return cursor.getString(column_index);
}
}
私は他の質問でみんなのコードを見てきましたが、ファイルパスを使用するように言っているのを見ました.action_send関数を使用してこれを行うにはどうすればよいですか?
どうもありがとう