بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]
پرسش و پاسخ

اشتراک گذاری عکس از لیست ویو؟

مدیریت گفتگو
m-developer 11 سال پیش
آخرین تغییر: 11 سال پیش

سلام دوستان 

یه لیست ویو دارم شامل عکس میشه و می خوام برای هر یک از عکس های لیست ویو عمل share کردن رو اعمال کنم این کدی هست که خودم امتحان کردم اما جواب نداده کسی راه حلی داره؟

         public void fill(final ArrayAdapter<StructLearn2> adapter, final StructLearn2 item, final int position) {
            txtTitle.setText(item.title);
            txtTitle.setTypeface(Learn2Activity.tfs, Typeface.BOLD);
            img.setBackgroundResource(item.image);
            img.setScaleType(ScaleType.CENTER_CROP);
            btn_learn2_share.setOnClickListener(new OnClickListener() {

                @Override
                public void onClick(View arg0) {
                    Uri imageUri = Uri.parse("android.resource://" + G.packagename
                            + "/drawable/" + "ic_launcher");
                    Intent shareIntent = new Intent();
                    shareIntent.setAction(Intent.ACTION_SEND);
                    shareIntent.putExtra(Intent.EXTRA_STREAM, imageUri);
                    shareIntent.setType("image/jpeg");
                    shareIntent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
                    G.currentActivity.startActivity(Intent.createChooser(shareIntent, "اشترک گذاری توسط:"));
                }
            });


        }

نظرات

پاسخ‌ها 2

میرحسین 11 سال پیش

از این کد برای صدا زدنش در اکتیوتی استفاده کن

share();

متد زیر هم بیرون OnCreate() درج کن

public boolean share(){

byte[] buffer =null;


//filet ro dakhel poshe raw beriz

InputStream fIn = getBaseContext().getResources().openRawResource(R.raw.ic);

int size =0;

try{ size = fIn.available(); buffer =newbyte[size]; fIn.read(buffer); fIn.close();

}catch(IOException e)

{

returnfalse;

}

//محل ذخیره سازی که به نظرم ذخیره نمیشه که خوبه

String path =Environment.getExternalStorageDirectory().getPath()+"/image/";

String filename ="عنوان عکس.jpg";

if(!(newFile(path)).exists()){

newFile(path).mkdirs();

}
FileOutputStream save;

try{ save =newFileOutputStream(path + filename); save.write(buffer); save.flush(); save.close();

}catch(FileNotFoundException e)

{

returnfalse;

}catch(IOException e)

{

returnfalse;

}

Intent sharingIntent =newIntent(Intent.ACTION_SEND); sharingIntent.setType("image/*"); sharingIntent.putExtra(Intent.EXTRA_STREAM,Uri.fromFile(newFile(path,filename)));

//Share using nami hast ke dar safhe eshterak gozari miad startActivity(Intent.createChooser(sharingIntent,"Share using"));

returntrue;

}

نظرات

میرحسین 11 سال پیش
در منیفست حتما کد زیر را بذار
میرحسین 11 سال پیش

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

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

نظرات


پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .