ورود

View Full Version : مشکل با اشتراک گذاری عکس



zarabela
جمعه 10 مرداد 1393, 11:14 صبح
سلام دوستان

من برای اشتراک گذاری عکس از کد زیر استفاده میکنم ولی موقع اجرا(روی گوشی) درست کار نمیکنه،وقتی bluetooth رو انتخاب میکنم میزنه not send ایمیلم که یه فایل با حجم 0kb رو میفرسته

ممنون میشم اساتید عزیز راهنمایی کنن

Bitmap bitmap;
OutputStream output;

bitmap=BitmapFactory.decodeResource(getResources() ,
com.example.ties.R.drawable.bi_colour_share);

File filepath=Environment.getExternalStorageDirectory() ;

File dir=new File(filepath.getAbsolutePath()+"/Share bi colour/");
dir.mkdir();

final File file=new File(dir, "bi_colur");



ImageView iv=(ImageView) findViewById(com.example.ties.R.id.bi_share);
iv.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v)
{
// TODO Auto-generated method stub
try
{
Intent bi_share=new Intent(Intent.ACTION_SEND);
bi_share.setType("image/jpeg");
Uri uri=Uri.fromFile(file);
bi_share.putExtra(Intent.EXTRA_STREAM, uri);
startActivity(Intent.createChooser(bi_share,"Share bi colour"));
}
catch(Exception e)
{
e.printStackTrace();
}
}
});

rubiks.kde
جمعه 10 مرداد 1393, 11:26 صبح
ادرس فایل به درستی انتخاب میشه؟مشکلی با فاصله بین ادرس وجود نداره؟

zarabela
جمعه 10 مرداد 1393, 12:01 عصر
ببخشید آدرس عکس دقیقا کدوم قسمت هست؟:خجالت:

zarabela
جمعه 10 مرداد 1393, 17:44 عصر
کسی نیس جواب بده؟؟؟لطفا راهنماییم کنید:افسرده:

zarabela
جمعه 10 مرداد 1393, 19:13 عصر
اساتید محترم کارم بد گیره ها ... ممنون میشم جواب بدید

rubiks.kde
جمعه 10 مرداد 1393, 21:20 عصر
Intent theIntent = new Intent(Intent.ACTION_SEND); theIntent.setType("image/*");
theIntent.putExtra(Intent.EXTRA_STREAM,Uri.parse(i d));
startActivity(theIntent);

از این کد استفاده کنید برای اشتراک گذاری و همچنین بجای id ادرس عکس مورد نظر رو قرار بدید

slr560
جمعه 10 مرداد 1393, 21:51 عصر
اگه مسیر فایل برنمیگرده باید از Log استفاده کنید و خط به خط خروجی هارو چک کنید
یادمه من برای ذخیره عکس یه مشکل داشتم . بعد فهمیدم گرفتن مسیر فایل توی اندروید ۴.۴ با ورژن های پایین تر فرق میکنه
شما روی ورژن های دیگه هم تست کن

zarabela
شنبه 11 مرداد 1393, 01:34 صبح
اگه مسیر فایل برنمیگرده باید از Log استفاده کنید و خط به خط خروجی هارو چک کنید
یادمه من برای ذخیره عکس یه مشکل داشتم . بعد فهمیدم گرفتن مسیر فایل توی اندروید ۴.۴ با ورژن های پایین تر فرق میکنه
شما روی ورژن های دیگه هم تست کن

من روی اندروید 2.3 هم تست کردم جواب نداد

zarabela
شنبه 11 مرداد 1393, 01:36 صبح
Intent theIntent = new Intent(Intent.ACTION_SEND); theIntent.setType("image/*");
theIntent.putExtra(Intent.EXTRA_STREAM,Uri.parse(i d));
startActivity(theIntent);

از این کد استفاده کنید برای اشتراک گذاری و همچنین بجای id ادرس عکس مورد نظر رو قرار بدید

این کارم انجام میدم ولی وقتی آدرس عکس رو جایگزین میکنم روی قسمت parse این پیغام رو میده :The method parse(String) in the type Uri is not applicable for the arguments (int)

slr560
شنبه 11 مرداد 1393, 09:53 صبح
خروجی هر خط رو با Log بدست بیار ببین مشکل کجاست.

rubiks.kde
شنبه 11 مرداد 1393, 10:17 صبح
این کارم انجام میدم ولی وقتی آدرس عکس رو جایگزین میکنم روی قسمت parse این پیغام رو میده :The method parse(String) in the type Uri is not applicable for the arguments (int)

ادرس روی کارت حافظه است یا دارید از resource برنامه ادرس میدید؟

zarabela
شنبه 11 مرداد 1393, 11:59 صبح
ادرس روی کارت حافظه است یا دارید از resource برنامه ادرس میدید؟

عکس رو توی resource ذخیره کردم

zarabela
یک شنبه 12 مرداد 1393, 10:04 صبح
دوستان من همچنان منتظرم:ناراحت:

haniiii
یک شنبه 12 مرداد 1393, 17:08 عصر
تو حالتی که عکس از اینترنت دانلود شده چطور میشه عکسی که در imageview لود شده رو share کرد ؟‌

zarabela
دوشنبه 13 مرداد 1393, 13:18 عصر
الان اگه بگم دوستان چرا راهنمایی نمیکنید بعضیا به شدت ناراحت میشن که ما وظیفه مون نیست!
منم این رو میدونم که دوستان از سر لطف جواب میدن ، ولی چون شدیدا به این نیاز دارم باز هم از اساتید میخوام راهنمایی کنن

مطمئنم هستم برای شما خیلی ساده ست چون توی خیلی از برنامه های ساده هم این مشاهده شده

rubiks.kde
دوشنبه 13 مرداد 1393, 13:43 عصر
عکس رو توی resource ذخیره کردم

ابتدا عکس رو روی حافظه ذخیره کنید بعد اشتراک گذاری کنید.

zarabela
دوشنبه 13 مرداد 1393, 14:12 عصر
ابتدا عکس رو روی حافظه ذخیره کنید بعد اشتراک گذاری کنید.

مرسی از جوابتون ... روی حافظه چی ذخیره کنم؟چطور؟هیچ راهی نیست که همون عکس های داخل resource رو اشتراک گذاری کنم؟

zarabela
دوشنبه 13 مرداد 1393, 19:35 عصر
دوستان ممنون از جواب هاتون

کدش رو پیدا کردم ... میزارم شاید به کار کسی اومد:چشمک:

Bitmap bitmap;
OutputStream output;

bitmap=BitmapFactory.decodeResource(getResources() ,
com.example.ties.R.drawable.checkerboard_sare);

File filepath=Environment.getExternalStorageDirectory() ;

File dir=new File(filepath.getAbsolutePath()+"/Share_checkerboard/");
dir.mkdir();

final File file=new File(dir, "checkerboard_share");



ImageView iv=(ImageView) findViewById(com.example.ties.R.id.checkerboard_sh are);
iv.setOnClickListener(new OnClickListener() {

public void onClick(View v) {
// TODO Auto-generated method stub
Bitmap bitmap;
OutputStream output;

// Retrieve the image from the res folder
bitmap = BitmapFactory.decodeResource(getResources(),
com.example.ties.R.drawable.checkerboard_sare);

// Find the SD Card path
File filepath = Environment.getExternalStorageDirectory();

// Create a new folder AndroidBegin in SD Card
File dir = new File(filepath.getAbsolutePath() + "/Share Image/");
dir.mkdirs();

// Create a name for the saved image
File file = new File(dir, "checkerboard.png");

try {

// Share Intent
Intent share = new Intent(Intent.ACTION_SEND);

// Type of file to share
share.setType("image/jpeg");

output = new FileOutputStream(file);

// Compress into png format image from 0% - 100%
bitmap.compress(Bitmap.CompressFormat.PNG, 100, output);
output.flush();
output.close();

// Locate the image to Share
Uri uri = Uri.fromFile(file);

// Pass the image into an Intnet
share.putExtra(Intent.EXTRA_STREAM, uri);

// Show the social share chooser list
startActivity(Intent.createChooser(share, "Share Image"));

} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

return;
}
});
};

roboman78
چهارشنبه 14 آبان 1393, 00:23 صبح
سلام ببخشید من تعداد عکسام تو اون پوشه زیاده چطوری میتونم وقتی که کاربر روی مثلا عکس اولی هست همون عکس اشتراک گذاشته بشه؟