android definir imagem como ícone de contato / papel de parede
Eu escrevi meu próprio ImageViewer e agora quero terDefinir como funcionalidade como no ImageViewer nativo do Android. Eu agora é possível desde que o Facebook tem. Anexei uma captura de tela para ficar mais claro.
P.S. Quero dar uma explicação mais detalhada do que está errado. Depois de escolher "Ícone de contato" no menu, a lista dos meus contatos é exibida. Quando escolho um contato, a força do aplicativo é fechada. Se eu escolher "Tela inicial / Bloqueio de tela", ele abrirá a galeria do meu telefone. Aqui está o meu trecho de código:
Bitmap icon = mBitmap;
Intent setAs = new Intent(Intent.ACTION_ATTACH_DATA);
setAs.setType("image/jpg");
ByteArrayOutputStream bytes = new ByteArrayOutputStream();
icon.compress(Bitmap.CompressFormat.JPEG, 100, bytes);
File f = new File(Environment.getExternalStorageDirectory() + File.separator + "/my_tmp_file.jpg");
try {
f.createNewFile();
FileOutputStream fo = new FileOutputStream(f);
fo.write(bytes.toByteArray());
} catch (IOException e) {
e.printStackTrace();
}
setAs.putExtra(Intent.EXTRA_STREAM, Uri.parse("file:///sdcard/my_tmp_file.jpg"));
startActivity(Intent.createChooser(setAs, "Set Image As"));
Também adicionei as permissões consequentes ao meu manifesto e sou capaz de gravar minha imagem no cartão SD do telefone.