unistall یا حذف کردن برنامه اندروید توسط خود برنامه
مواقعی وجود دارد که می خواهیم امکاناتی در اختیار کاربران بگذاریم که بخواهند بصورت مستقیم و از طریق خود اپلیکیشن بتوانند برنامه مورد اجرای خود را حذف یا unistall کنند. اینکه ما بخواهیم چنین امکانی را برای برنامه خود تعریف کنیم امری غیرمعقول محسوب می شود چراکه موجب خواهد شد که کاربران زودتر از موعد به سراغ چنین امکانی بروند. ولی به هرحال ممکن است فردی بخاطر برخی مصالح خود بخواهد چنین امکاناتی را برای برنامه خود تعریف کند. یک مثال برایتان می زنم که بفهمید در برخی موارد نیز چنین امکانی مطلوب بنظر می رسد. فرض کنید که شما به منظور اجرای بهتر اپلیکیشن خود کاربران را مجبور کنید که اپلیکیشن دیگری را نصب کنند و بخواهید بصورت تعاملی از این دو اپلیکیشن استفاده کنند. به همین منظور وقتی کاربر یکی از برنامه های شما را حذف می کند عملاً برنامه دیگر شما دارای کارایی لازم نخواهد بود در این صورت برنامه نویس می تواند از طریق یک broadcast برنامه حذف شده را رصد کرده و در صورت حذف شدن پکیج مورد نظر خود بصورت اتوماتیک اکتیویتی مورد نظر شما در برنامه را فراخوانی کرده و از کاربر در مورد حذف برنامه دوم خود نظرخواهی کند و در صورت عدم رغبت بتواند برنامه را حذف کند.
به همین منظور از Intent استفاده می کنیم و با ارسال ACTION_DELETE و تعریف پکیج مورد نظرمان()package:” + this.getPackageName” در متد setData ، که در واقع همان پکیج مورد اجرای کاربر است بتوانیم به این امر دست پیدا کنیم :
Intent intent = new Intent(Intent.ACTION_DELETE); intent.setData(Uri.parse("package:" + this.getPackageName())); startActivity(intent);
موفق و پیروز باشید
0 دیدگاه