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

اشتراک گذاری عکس در شبکه های اجتماعی

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

سلام و خدا قوت

من برنامه ای دارم که در هر بخش تعدادی تصویر موجود هست . دو دکمه هم در هر بخش هست یکی بعدی و یکی قبلی .

با کلیک روی هر کدام عکس بعدی و قبلی نمایش داده میشه . حالا میخوام دکمه ای رو تعریف کنم که با کلیک روی اون تصویری که در حال نمایش هست قابلیت ارسال رو پیدا کنه .

ممنون میشم راهنمایی کنید .

سرچ هم انجام دادم ، جواب مناسبی پیدا نکردم .

تصویر نمونه :

نظرات

ایوب شمسی 11 سال پیش
تا اونجایی که من اطلاع دارم شما ابتدا باید فایل رو در sd card کپی کنید سپس اونو ارسال کنید اینطوری ببینید به نتیجه میرسید
sagheb95 11 سال پیش
اگر ممکنه دوستانی که اطلاعاتی دارند ، یه راهنمایی بدم ممنون میشم.
ایوب شمسی 11 سال پیش
سعس میکنم فردا در صورت داشتن وقت کافی اموزشش رو قرار بدم البته اگه از پسش بربیام

پاسخ‌ها 2

sagheb95 11 سال پیش

دوستان خودم یه کدی پیدا کردم که درست کار می کنه ... البته چیزی که من میخوام نیست .من میخوام وقتی دکمه بعدی رو که زدم و عکس جدید نشون داده شد بتونم اون رو به اشتراک بزارم . این کد فقط ظاهرا زمانی بدرد میخوره که به بخوای یک عکس خاص رو به اشتراک بزاری

 File root = android.os.Environment.getExternalStorageDirectory(); 
        File dir = new File (root.getAbsolutePath() + "/myFolder");
        dir.mkdirs(); // build directory
        Random generator = new Random();
        int n = 10000;
        n = generator.nextInt(n);
        String fileName = "Image-"+ n +".jpg";
        File file = new File(dir, fileName);
        if (file.exists ()) file.delete ();

        try {
            FileOutputStream outStream = new FileOutputStream(file);
            InputStream is;
            Bitmap bitmap;
            is = this.getResources().openRawResource(R.drawable.ba1);
            bitmap = BitmapFactory.decodeStream(is);
            try {
                is.close();
                is = null;
            } catch (IOException e) {
            }
            bitmap.compress(Bitmap.CompressFormat.JPEG, 90, outStream);
            outStream.flush();
            outStream.close();
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }   
        Uri outputFileUri = Uri.fromFile(file);
        Intent intent = new Intent(Intent.ACTION_SEND);
        intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET);
        intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION); 
        intent.setType("image/jpeg");
        intent.putExtra(Intent.EXTRA_STREAM, outputFileUri);
        startActivity(Intent.createChooser(intent, "Share this image via"));
        
        
        
    }

نظرات

sagheb95 11 سال پیش
مجدد خواسته ام رو توضیح میدم که دوستان بهتر متوجه منظورم بشند. در برنامه من چند عکس هست که با دکمه قبلی و بعدی نمایش داده میشه . حالا مثلا داره عکس شماره 15 نشون داده میشه ، میخوام دکمه ای بزارم که بشه همه عکسها که به نوبت نشون داده میشه رو بشه ارسال کرد .
sagheb95 11 سال پیش
دوستانی که اطلاعات دارند آگر ممکنه به من کمک کنند در این خصوص
Criss 11 سال پیش
شما باید اسم عکسی که در حال نمایش هست رو بگیرید و اون رو به روشی که بالا گذاشتید روی ممروی کپی کنید و ارسال کنید
sagheb95 11 سال پیش
چطور میشه اسم در حال نمایش رو گرفت
Criss 11 سال پیش
شما چطوری تصویر رو به نمایش در میارید ؟ دقیقا بعد از همون خطی که تصویر رو به نمایش در میاری باید یه خط دستور اضاف کنی < و اسم فایل رو درون یک فیلد قرار بدی
sagheb95 11 سال پیش
شرمنده ، من خودم کد رو ننوشتم و یکی از دوستان برام پیدا کرد ، شما می تونید نمونه اون خط کد رو واسم بنویسی.ممنون
MeY3am 11 سال پیش

شما ابتدا باید عکس رو ذخیره کنید و به اشتراگ بگذارید

  btnShare.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
try { File filepath = Environment.getExternalStorageDirectory(); File dir = new File(filepath.getAbsolutePath() + "/myfolder/"); dir.mkdirs(); File file = new File(dir, "filename.jpeg"); output = new FileOutputStream(file); bitmap.compress(Bitmap.CompressFormat.JPEG, 100, output); output.flush(); output.close(); Intent share = new Intent(Intent.ACTION_SEND); share.setType("image/jpeg"); Uri uri = Uri.fromFile(file); share.putExtra(Intent.EXTRA_STREAM, uri); startActivity(Intent.createChooser(share, "Share Image")); } catch (Exception e) { e.printStackTrace(); } } });

هر جا مشکل داشتید بگید که براتون توضیح بدم !

نظرات

حمید زمانی 11 سال پیش
این کد برای اشتراک عکس از drawable هم کاربرد داره؟ کجاش باید id رو عوض کنم؟

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