인 텐트를 사용하여 이미지를 공유하고 있습니다. 다른 곳에서와 같이 stackoverflow에 설명되어 있습니다. 다음은이 사이트에서 훔친 코드 (감사) :)입니다정상적인 이미지 인 것처럼 레이어 목록에 드로어 블을 사용하십시오.
private void share(String nameApp, String imagePath) {
List<Intent> targetedShareIntents = new ArrayList<Intent>();
Intent share = new Intent(android.content.Intent.ACTION_SEND);
share.setType("image/jpeg");
List<ResolveInfo> resInfo = getPackageManager().queryIntentActivities(share, 0);
if (!resInfo.isEmpty()){
for (ResolveInfo info : resInfo) {
Intent targetedShare = new Intent(android.content.Intent.ACTION_SEND);
targetedShare.setType("image/jpeg"); // put here your mime type
if (info.activityInfo.packageName.toLowerCase().contains(nameApp) ||
info.activityInfo.name.toLowerCase().contains(nameApp)) {
targetedShare.putExtra(Intent.EXTRA_TEXT, "My body of post/email");
targetedShare.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(new File(imagePath)));
targetedShare.setPackage(info.activityInfo.packageName);
targetedShareIntents.add(targetedShare);
}
}
Intent chooserIntent = Intent.createChooser(targetedShareIntents.remove(0), getResources().getString(R.string.share_select));
chooserIntent.putExtra(Intent.EXTRA_INITIAL_INTENTS, targetedShareIntents.toArray(new Parcelable[]{}));
startActivity(chooserIntent);
}
}
내 문제는 내가 공유 할 수있는 JPG이없는,하지만이 같은 드로어 블 및 레이어 목록으로 이미지를 만들 수 있다는 것입니다 :
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:drawable="@drawable/background01" />
<item android:drawable="@drawable/img02" />
<item android:drawable="@drawable/img07" />
</layer-list>
나는 그들이 전체 이미지를했다 이러한 드로어 블을 사용하고 주() 함수 내에서 사용할 수 있습니다 경우 어떻게 이해하지 않습니다. 어떤 사람이 설명해 주실 수 있습니까?
미리 감사드립니다. 두 개의 오버레이 비트 맵 이미지로 비트 맵을 얼마나
단순히 'R.drawable' id를 통신하여? –
하지만 그건 jpg가 아니며 함수에 경로가 필요합니다. 어떻게 그 드로잉 ID로 생성 할 수 있습니까? –
오, 죄송합니다. 내 잘못입니다. 이메일을 보내시겠습니까? 그런 다음 XML 드로어 블을 주어진 크기의 Canvas로 렌더링하고 저장하고 전달해야합니다. –