کلیدستان

نسخه‌ی کامل: مشکل در ایجاد نرم افزاری برای اشتراک گذاری تصویر
شما در حال مشاهده نسخه آرشیو هستید. برای مشاهده نسخه کامل کلیک کنید.
سلام
من تازه اندروید را با آموزش لیندا شروع کردم، برای اینکه Implicit_activty را یاد بده اومد یه نرم افزاری ساحت که و میخواهیم عکسی را share کنیم توی لیست نرم افزار هایی که این قابلیت را داند باشه و با زدن روی اون تصویر را نشون بده، من دقیقا همه گام ها پیش رفتن ولی وقتی میزنم که با نرم افزار share کنه exception میزنه
بخدا یکی بگه چیکا کنم
(۱۳۹۵/۰۱/۱۹, ۱۱:۵۲ ب.ظ)faride93 نوشته: [ -> ]سلام
من تازه اندروید را با آموزش لیندا شروع کردم، برای اینکه Implicit_activty را یاد بده اومد یه نرم افزاری ساحت که و میخواهیم عکسی را share کنیم توی لیست نرم افزار هایی که این قابلیت را داند باشه و با زدن روی اون تصویر را نشون بده، من دقیقا همه گام ها پیش رفتن ولی وقتی میزنم که با نرم افزار share کنه exception میزنه
بخدا یکی بگه چیکا کنم

اقا خواهشا یکی کمک کنه
کدها و خطاهایی که میده رو بزارید تا مشکل بررسی بشه
(۱۳۹۵/۰۱/۲۱, ۱۲:۰۵ ق.ظ)mahdi10539 نوشته: [ -> ]کدها و خطاهایی که میده رو بزارید تا مشکل بررسی بشه
اصلا ارور نداره ولی وقتی میخوام یک تصویر اشتراک بگذارم و این نرم افزار را توی نرم افزار های اشتراک گذاری نشون میده باید اینجوری باشه که وقتی روش میزنم تصویر را توی نرم افزار نشون بده ولی اکسپشن میده و از نرم افزار میاد بیرون.پروژه را میفرستم.
خواهشا کمک کنید
(۱۳۹۵/۰۱/۲۸, ۱۲:۰۲ ق.ظ)faride93 نوشته: [ -> ]
(۱۳۹۵/۰۱/۲۱, ۱۲:۰۵ ق.ظ)mahdi10539 نوشته: [ -> ]کدها و خطاهایی که میده رو بزارید تا مشکل بررسی بشه
اصلا ارور نداره ولی وقتی میخوام یک تصویر اشتراک بگذارم و این نرم افزار را توی نرم افزار های اشتراک گذاری نشون میده باید اینجوری باشه که وقتی روش میزنم تصویر را توی نرم افزار نشون بده ولی اکسپشن میده و از نرم افزار میاد بیرون.پروژه را میفرستم.
خواهشا کمک کنید
مشکل اینجاست که شما دارید برنامه خودتون رو اجرا میکنید
در حالی که کدهای نوشته شده در قسمت onCreate برای زمانی هستش که برنامه شما صدا زده بشه
برای جلوگیری از بروز خطا در هنگام اجرای برنامه خودتون قبلش یک شرط بزارید
در صورتی که مقدار دریافتی خالی یا null نباشه کد اجرا بشه

کد پی‌اچ‌پی:
if (getIntent().getExtras() != null)
 
           iv.setImageURI((UrigetIntent().getExtras().get(Intent.EXTRA_STREAM)); 


نکته :  برای اینکه اندروید بدونه برنامه شما هم جزو برنامه های هستش که میتونه عکس رو دریافت کنه و نشون بده باید کد زیر رو هم به فایل AndroidManifest.xml در قسمت اون activity که قراره عکس رو نشون بده اضافه کنید
کد پی‌اچ‌پی:
<intent-filter>
 
               <action android:name="android.intent.action.SEND"/>
 
               <category android:name="android.intent.category.DEFAULT"/>
 
               <data android:mimeType="image/*" />
 
           </intent-filter
(۱۳۹۵/۰۱/۲۸, ۰۲:۳۲ ق.ظ)mahdi10539 نوشته: [ -> ]مشکل اینجاست که شما دارید برنامه خودتون رو اجرا میکنید
در حالی که کدهای نوشته شده در قسمت onCreate برای زمانی هستش که برنامه شما صدا زده بشه
برای جلوگیری از بروز خطا در هنگام اجرای برنامه خودتون قبلش یک شرط بزارید
در صورتی که مقدار دریافتی خالی یا null نباشه کد اجرا بشه

کد پی‌اچ‌پی:
if (getIntent().getExtras() != null)
 
           iv.setImageURI((UrigetIntent().getExtras().get(Intent.EXTRA_STREAM)); 


نکته :  برای اینکه اندروید بدونه برنامه شما هم جزو برنامه های هستش که میتونه عکس رو دریافت کنه و نشون بده باید کد زیر رو هم به فایل AndroidManifest.xml در قسمت اون activity که قراره عکس رو نشون بده اضافه کنید
کد پی‌اچ‌پی:
<intent-filter>
 
               <action android:name="android.intent.action.SEND"/>
 
               <category android:name="android.intent.category.DEFAULT"/>
 
               <data android:mimeType="image/*" />
 
           </intent-filter

من توی manifest نوشتم اینارو یرنامه هم اجرا نمیکنم میرم توی گالری و برای یک عکس میزنم share برنامه رو نشون میده و وقتی روش کلیک میکنم باید بره توی برنامه و عکس را نشون بده ولی exception میزنه و میاد بیرون
من پروژه اندروید ما را برسی کردم اما کدی خاصی برای این اقدام پیدا نکردم!
این کدی که بت میدم عالیه امتحانش کن ایشالا مشکلت حل میشه


کد:
tring type = "image/*";
String filename = "/myPhoto.jpg";
String mediaPath = Environment.getExternalStorageDirectory() + filename;

share(type, mediaPath);

private void share(String type, String mediaPath){

  // Create the new Intent using the 'Send' action.
  Intent share = new Intent(Intent.ACTION_SEND);

  // Set the MIME type
  share.setType(type);

  // Create the URI from the media
  File media = new File(mediaPath);
  Uri uri = Uri.fromFile(media);

  // Add the URI to the Intent.
  share.putExtra(Intent.EXTRA_STREAM, uri);

  // Broadcast the Intent.
  startActivity(Intent.createChooser(share, "Share to"));
}




یاعلی
(۱۳۹۵/۰۱/۳۰, ۱۰:۲۵ ب.ظ)ail603601 نوشته: [ -> ]من پروژه اندروید ما را برسی کردم اما کدی خاصی برای این اقدام پیدا نکردم!
این کدی که بت میدم عالیه امتحانش کن ایشالا مشکلت حل میشه


کد:
tring type = "image/*";
String filename = "/myPhoto.jpg";
String mediaPath = Environment.getExternalStorageDirectory() + filename;

share(type, mediaPath);

private void share(String type, String mediaPath){

  // Create the new Intent using the 'Send' action.
  Intent share = new Intent(Intent.ACTION_SEND);

  // Set the MIME type
  share.setType(type);

  // Create the URI from the media
  File media = new File(mediaPath);
  Uri uri = Uri.fromFile(media);

  // Add the URI to the Intent.
  share.putExtra(Intent.EXTRA_STREAM, uri);

  // Broadcast the Intent.
  startActivity(Intent.createChooser(share, "Share to"));
}




یاعلی

اینو دقیقا کجا بنویسم؟