دست گلت درد نکنه ، من با دانلودش مشکلی ندارم فایل دانلود میشه اما نمیتونم مستقیما اجراش کنم .من از کد شما استفاده کردم اما موقع اجرای فایل کرش کرد ، ببخشید به جای EXAMPLE,jpg باید چی بنویسم؟ و String mime دقیقا چی رو در خودش ذخیره می کنه؟
بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
پرسش و پاسخ
اجرای خودکار فایل پس از دانلود
مدیریت گفتگو
آخرین تغییر: 9 سال پیش
سلام دوستان
من میخوام وقتی برناممم نسخه ی جدیدش توسط کاربر دانلود شد ، خودکار فایل دانلود شده اجرا باشه و کاربر به صفحه ی نصب نرم افزار هدایت بشه
چطوری باید این کار رو انجام بدم؟
پاسخها 2
سلام. میتونید عملیات دانلود را داخل یک سرویس انجام دهید و پس از پایان براش یک اینترفیس بسازید و فایل دانلود شده رو دانل رم کاربر ذخیره کنید و در نهایت با اینتننت ب ان فایل ارجاع بذید :
File file = new File("EXAMPLE.JPG");
// Just example, you should parse file name for extension
String mime = MimeTypeMap.getSingleton().getMimeTypeFromExtension(".JPG");
Intent intent = new Intent();
intent.setAction(android.content.Intent.ACTION_VIEW);
intent.setDataAndType(Uri.fromFile(file), mime);
startActivityForResult(intent, 10);
نظرات
باید نام فایل دانلود شده خودتون رو ک داخل رم ذخیره کردید بهش بدید و در اون قسمت هم طبیعتا مایم تایپ فایل اندروید : apk!
کرش به این علت بوده که نتونسته اون فایل رو پیدا کنه. شما باید ادرس دقیق فایل رو بدید
پس مسیر فایل رو کجا باید بهش بدیم؟ من فایل رو توی Environment.DIRECTORY_DOWNLOADS ذخیره می کنم
همچنین بالا توی کامنت نوشته که باید از parse file استفاده کنیم !!! منظورش دقیقا کجاست؟
خدمتتون عرض کردم باید همون ادرسی رو بدید ک.موقع دانلود فایل اونجا ذخیرش کردید. باقی موارد هم همونطوری هست ک بالا اشاره کردم
ببخشید یه نگاهی به کدهای پایین میندازین؟
ببخشید میشه یه نگاهی به کدهای من بندازید؟
بعد از دانلود شدن وقتی میخواد برنامه رو اجرا کنه میزنه خطای تجزیه فایل:
public class MainActivity extends AppCompatActivity {
Button update, noUpdate;
String fileName = "Boom.apk";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
update = (Button) findViewById(R.id.update);
noUpdate = (Button) findViewById(R.id.noUpdate);
update.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
new DownloadManagerHelper(MainActivity.this, "http://s9.picofile.com/d/8294282450/564867f0-7bf2-45f5-bc77-538b84919525/Boom.apk", Environment.DIRECTORY_DOWNLOADS)
.showNotificationProgress()
// .setRequestType("APK")
.setDownloadCompleteListener(new DownloadManagerHelper.DownloadCompleteListener() {
@Override
public void onDownloadComplete() {
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.fromFile(new File
(Environment.DIRECTORY_DOWNLOADS + fileName)), "application/vnd.android.package-archive");
startActivity(intent);
}
})
.setDownloadProgressListener(new DownloadManagerHelper.DownloadProgressListener() {
@Override
public void onDownloadProgressListener(int percent) {
Log.i("LOG", "Percent is : " + percent);
}
})
.startDownload();
}
});
}}
نظرات
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .
ویرایش
پیام
نظرات