1. manifesto


<uses-permission android:name="android.permission.READ_CONTACTS" />

<uses-permission android:name="android.permission.WRITE_CONTACTS" />

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />




2. src


public class main extends Activity {

TextView text;

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

text = (TextView)findViewById(R.id.text);

//////////////////////Bitmap 외부에 저장//////////////////////////

Bitmap screenshot = BitmapFactory.decodeResource(getResources(), R.drawable.a1);

String filename = "a1.png";

File f = new File(Environment.getExternalStorageDirectory(), filename);

try {

f.createNewFile();

OutputStream outStream = new FileOutputStream(f);

screenshot.compress(Bitmap.CompressFormat.PNG, 100, outStream);

outStream.close();

} catch (IOException e) {

e.printStackTrace();

}

Uri bitmapURI = Uri.fromFile(f); // <- file:///~ 형태의 URI

String filePath = bitmapURI.getPath();

//////////////////////Bitmap 외부에 저장/////////////////////////////

sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED,

Uri.parse("file://"+ Environment.getExternalStorageDirectory()))); // <- 미디어스토어에 인식시킴.

Cursor c = getContentResolver().query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, null,

"_data = '" + filePath + "'", null,null); // <- _data컬럼에서 "file:///~" 형태의 filePath와 같은 Row를 받아옴.

c.moveTo!First();

int id = c.getInt(0); // <- Row에서 첫번째 컬럼인 ID를 얻음.

Uri uriF = ContentUris.withAppendedId(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, id); // <- content://~ 형태의

URI로 만듬.

Intent intent3 = new Intent(Intent.ACTION_ATTACH_DATA); // 주소록에 사진붙이기 인텐트 발동!

intent3.setData(uriF); // 인텐트에 Bitmap URI 첨부

startActivity(intent3);

text.setText("OK");

}

}

출처 : http://blog.daum.net/yldot/7703384

Posted by 90002

블로그 이미지
90002

공지사항

Yesterday1
Today3
Total125,057

최근에 달린 댓글

최근에 받은 트랙백

글 보관함