بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
سوال درباره از بین بردن اکتیویتی برای همیشه
با سلام خدمت دوستان.
سوال من اینه که چطور می تونم کاری کنم که یک اکتیویتی فقط یک بار بعد از نصب برنامه اجرا بشه و بعد از اون دیگه هیچ وقت اجرا نشه؟ آیا کسی چیزی در این باره می دونه؟ ممنون میشم راهنمایی کنید.
+1
0
سلام از این روش استفاده کنید لینک (10 سال پیش)
0
0
آقای salah توی این لینک چند تا راه حل وجود داره ولی همشون ارور میدن . الان یه عکس از اروری که میده میزارم لطفا راهنمایی کنید (10 سال پیش)
0
0
@override
Public void onResume()(
Super.onResume();
SharedPreferences prefs = PreferenceManager.getDefaultSharedPReferences(getBaseContext());
Boolean previouslyStarted = prefs.getBoolean(getString(R.string.pref_previously_started),false);
If(!previouslyStarted) (
SharedPreferences.Editor edit = prefs.edit();
Edit.putBoolean(getString(R.string.prefs_previously_started), Boolean.TRUE);
edit.commit();
ShowHelp();
) (10 سال پیش)
0
0
این مشکل منم هست . اگ نتیجه رسیدی ب منم بگو
(10 سال پیش)
برای این سوال 1 پاسخ وجود دارد.
پاسخ به سوال
مسعود فرمانی
10 سال پیش
+1
0
در متد onResume کلاس Activitymain (اون اکتیویتی که لانچر برنامتون هست) یک preference رو چک کنید و مثلا مقدار یک boolean که توش قرار دادید رو چک کنید(این boolean رو با مقدار true در متد oncCreate کلاس اکیتیویتی که میخواید فقط یکبار نشونش بدید در preference ذخیره کنید)...اگه boolean = true بود یعنی اون اکتیویتی یکبار اجرا شده و دیگه نشونش نمیدید و اگه falseبود نشونش میدید...
//این کدهها رو در متد onResume کلاس ActivityMain بنویسید
SharedPreferences sharedPreferences = getSharedPreferences("MyPref",Context.MODE_PRIVATE);
boolean isShown = sharedPreferences.getBoolean("isActivityShown",false);
if (!isShown){//اگه isShown = false بود یعنی برنامه برای اولین بار داره اجرا میشه و اکتیویتی رو نشون میدیم
showActivityJustOneShow();//این متد رو پایین قرار دادم.چیز خاصی نیست و همون استفاده از intent برای باز کردن اکتیویتی دوم است
}
/////////
private void showActivityJustOneShow(){
Intent intent = new Intent(this,ActivityJustOneShow.class);
this.startActivity(intent);
}
//////////////////////
//این کدها رو در متد onCreate همون اکتیویتی که میخواید فقط یکبار نمایش داده بشه بنویسید
SharedPreferences.Editor editor = getSharedPreferences("MyPref", Context.MODE_PRIVATE).edit();
editor.putBoolean("isActivityShown",true);
editor.commit();
اون کلاسی که توی آموزش ها به نام G ایجاد میشه یک اکتیویتی نیست! کلاسیه که از Application ارث بری کرده....اون قسمتی که شماره لینک زدم رو در کلاس G بنویسید فک کنم چواب بده(امتحان نکردم)
(10 سال پیش)
متشکرم عالی بود . اگ بخوایم ی دیالوگ رو بجای اکتیویتی نمایش بدیم باید چکا کنیم ؟ ممنون میشم راهنماایی کنید .
باید دیالوگ رو اینجا (ActivityJustOneShow) تعریف کنیم ؟
اگ بخوایم دیالوگ رو یک بار بعد نصب نمایش بدیم و روی Activity_main نشون بدیم باید چ کدی بنویسیم ممنون میشم رهنمایی کنید .!!!!!
(10 سال پیش)
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .