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

ایجاد دکمه ای برای کپی فایل در حافظه و ارسال ان با نرم افزارهای مختلف(تلگرام واتس آپ)

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

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

اصل این کد قسمت کپی کردن و ایجاد پوشه است که میتونید با اینتنت دلخواه(مثلا اینجا ارسال فایل) کار موردنظر رو انجام بدید.

این قطعه کد واسه یکی از پروژ ها دو روز وقتم رو گرفت که با کمک یکی از برنامه نویس های عزیز و سرچ بسیار حل شد.

     Button btnshare = (Button) findViewById(R.id.btnshare);
        btnshare.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View arg0) {

                File shortMusicDir = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_RINGTONES);
                shortMusicDir.mkdirs();
                File musicFile = new File(shortMusicDir, R.raw.bigharar + ".mp3");
                copyRawFileToSdCard(FortestActivity.this, R.raw.bigharar, musicFile);
                Uri uri = Uri.fromFile(musicFile);
                Intent share = new Intent(Intent.ACTION_SEND);
                share.setType("audio/*");
                share.putExtra(Intent.EXTRA_STREAM, uri);
                startActivity(Intent.createChooser(share, "share"));

            }


            private void copyRawFileToSdCard(FortestActivity firstghary, int asrePaeizi, File musicFile) {
                InputStream in = getResources().openRawResource(R.raw.bigharar);
                FileOutputStream out = null;
                try {
                    out = new FileOutputStream(musicFile);
                }
                catch (FileNotFoundException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
                byte[] buff = new byte[1024];
                int read = 0;

                try {
                    while ((read = in.read(buff)) > 0) {
                        out.write(buff, 0, read);
                    }
                }
                catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                } finally {
                    try {
                        in.close();
                    }
                    catch (IOException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }

                    try {
                        out.close();
                    }
                    catch (IOException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }
                }
            }
        });
 

نظرات

ایوب شمسی 11 سال پیش
دوستان توضیحات کدها مثل تاپیک قبلی می باشد فقط اینتنت و پسوند دهی فایل مورد نظر فرق میکند که اون هم خیلی راحته

هنوز پاسخی ثبت نشده است


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