اجرای فایل apk برای نصب از طریق برنامه با در نظر گرفتن تارگت اندروید بالای ۲۴
گزارشسلام. من میخوام فایلی رو از یک آدرس مشخص اجرا کنم که به کاربر نمایش بدم برای نصب. البته با در نظر گرفتن اینکه تارگت بالای sdk 24 هست و کد قدیمی کار نمیکنه و باید از provider استفاده بشه
کد زیر در button هست که کاربر روی اون میزنه فایل اجرا میشه:
File imagePath = new File(String.valueOf(getApplicationContext().getFilesDir()));
File newFile = new File(imagePath, "myapplication.apk");
Uri contentUri = getUriForFile(getApplicationContext(), "myapp.myapp.fileprovider", newFile);
getApplicationContext().grantUriPermission("myapp.myapp", contentUri, FLAG_GRANT_READ_URI_PERMISSION);
Intent intent = new Intent();
intent.setAction(android.content.Intent.ACTION_VIEW);
intent.setData(contentUri);
intent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
startActivity(intent)
کدهای داخل مانیفست هم اضافه شده در بین تگ Application
همچنین یک فایل با نام provider_paths در مسیر پوشه xml ساختم
کدهای دو مورد آخر متاسفانه نتونستم اضافه کنم اینجا چون بعد از ویرایش پاک میشدند.
و نهایتا با این پیغام مواجه میشم:
android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.VIEW dat=content://myapp.myapp.fileprovider/newapp/2.1.1.apk typ=application/vnd.android.package-archive flg=0x3 }
پاسخ ها ( ۱۸ )
لطفا علت گزارش خود را در رابطه با این پاسخ بنویسید.
گزارش لغوسلام دیگر به این گونه سوال خود را در سایت ارسال نکنید یک عنوان در نظر بگیرید , سپس در بخش محتوا سوال خود را قرار دهید ! از دفعه بعد سوال شما حذف می شود در صورتی که گفته ها را رعایت نکنید و در مورد سوالتون منظور خود را به صورت دقیق بگید چه فایلی رو از چه ادرسی می خواید اجرا کنید ؟!
موفق باشید.
لطفا علت گزارش خود را در رابطه با این پاسخ بنویسید.
گزارش لغوسلام
عنوان اصلاح شد.
ببینید من میخوام یک فایل apk از توی مسیر برنامه خودم برای نصب بر روی دستگاه کاربر اجرا کنم.
قبلا انجام دادم اما جدیدا اندروید برای اپلیکیشنهایی که تارگت اونها بالاتر از ۲۴ هست میگه باید از Provider استفاده کنید.
میخواستم اگر لطف کنید یک سمپل کامل از این کد بزارید.
توی نت زیاد دیدم اما کامل نبودن و متاسفانه درست کار نمیکردن.
کجا میتونم نمونه کد خود رو بزارم؟
لطفا علت گزارش خود را در رابطه با این پاسخ بنویسید.
گزارش لغوممنون از اینکه اصلاح کردید.
کمی صبر کنید یک آموزش برای شما ایجاد می کنم
لطفا علت گزارش خود را در رابطه با این پاسخ بنویسید.
گزارش لغواگر درست متوجه شده باشم این کد باید براتون کار کنه
موفق باشید.
لطفا علت گزارش خود را در رابطه با این پاسخ بنویسید.
گزارش لغومتاسفانه کار نمیکنه.
چجوری میتونم کدم رو اضافه کنم به متن بالا که کامل متوجه بشید؟
لطفا علت گزارش خود را در رابطه با این پاسخ بنویسید.
گزارش لغومی تونید متن رو اضافه کنید مشکلی نداره یا بخش اکتویتی ها را در یک جا آپلود کنید لینک قرار دهید تا دانلود کنم تا ببینم مشکل در چیه
لطفا علت گزارش خود را در رابطه با این پاسخ بنویسید.
گزارش لغومن کد زیر رو تست کردم مشکلی نداشت شمام تست کنید شاید براتون جواب داد فایل apk رو در پوشه assets قرار دهید.
موفق و پیروز باشید.
لطفا علت گزارش خود را در رابطه با این پاسخ بنویسید.
گزارش لغومشکل اینجاست که فایل اول دانلود میشه و بعد نصب میشه و از اول ما فایل رو نداریم که بازریمش تو پوشه assets.
این کدتونو تست میکنم مجدد پست میزارم
لطفا علت گزارش خود را در رابطه با این پاسخ بنویسید.
گزارش لغومن فکر کردم فایل از قبل وجود داره
لطفا علت گزارش خود را در رابطه با این پاسخ بنویسید.
گزارش لغواین لینک رو ببینید:
https://inthecheesefactory.com/blog/how-to-share-access-to-file-with-fileprovider-on-android-nougat/en
با povider کار کرده.
اینم منبع اصلی:
من طبق این پیش رفتم اما همون ارور رو میگیره از من که بالا نوشتم:
https://developer.android.com/reference/android/support/v4/content/FileProvider.html
لطفا علت گزارش خود را در رابطه با این پاسخ بنویسید.
گزارش لغوهمانطور که نوشته شده گفته از اندروید api 24 یا همان Nougat امکان اتچ کردن یک فایل نداره یا همان قرار دادن “File://” وجود ندارد علتش هم بستن دسترسی برنامه نویسه کمی صبر کنید آموزش آن را قرار میدم.
لطفا علت گزارش خود را در رابطه با این پاسخ بنویسید.
گزارش لغوبله درسته
متاسفانه کد رو لازم دارم. الان ۳ روزه که درگیر همین هستم.
امکانش هست امشب این کد گذاشته بشه؟
فکر میکنم بدرد افراد زیادی بخوره
لطفا علت گزارش خود را در رابطه با این پاسخ بنویسید.
گزارش لغوبله قرار میدهم
لطفا علت گزارش خود را در رابطه با این پاسخ بنویسید.
گزارش لغوخیلی لطف میکنید جناب جعفر پور
لطفا علت گزارش خود را در رابطه با این پاسخ بنویسید.
گزارش لغوآقای جعفری پور آموزش به امشب میرسه برای قرار دادن تو سایت؟
لطفا علت گزارش خود را در رابطه با این پاسخ بنویسید.
گزارش لغوسپاس از شما بابت آموزش خوبتون در این زمینه
لطفا علت گزارش خود را در رابطه با این پاسخ بنویسید.
گزارش لغوخواهش می کنم
لطفا علت گزارش خود را در رابطه با این پاسخ بنویسید.
گزارش لغوآموزش کامل این مبحث در لینک زیر گذاشته شده:
 
http://programchi.ir/2017/08/06/%d8%a2%d9%85%d9%88%d8%b2%d8%b4-fileprovider-%d8%af%d8%b1-%d8%a8%d8%b1%d9%86%d8%a7%d9%85%d9%87-%d9%86%d9%88%db%8c%d8%b3%db%8c-%d8%a7%d9%86%d8%af%d8%b1%d9%88%db%8c%d8%af/