آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

سوال درباره از بین بردن اکتیویتی برای همیشه

Saeed  10 سال پیش  10 سال پیش
0 0

با سلام خدمت دوستان.

سوال من اینه که چطور می تونم کاری کنم که یک اکتیویتی فقط یک بار بعد از نصب برنامه اجرا بشه و بعد از اون دیگه هیچ وقت اجرا نشه؟ آیا کسی چیزی در این باره می دونه؟ ممنون میشم راهنمایی کنید.

+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();
0 0
این کدهامو امتحان کردم و جواب داد...اگه مشکلی داشتید بپرسید...... (10 سال پیش)
0 0
ممنون آقا مسعود. من طبق گفته های استاد یک اکتیویتی G برای برنامه ام ایجاد کردم که قبل از همه اکتیویتی ها اجرا میشه. حالا این کدهایی که گفتید در لانچر قرار بدم رو باید تو همین اکتیویتی G قرار بدم؟ (10 سال پیش)
0 0
اون کلاسی که توی آموزش ها به نام G ایجاد میشه یک اکتیویتی نیست! کلاسیه که از Application ارث بری کرده....اون قسمتی که شماره لینک زدم رو در کلاس G بنویسید فک کنم چواب بده(امتحان نکردم) (10 سال پیش)
0 0
*اصلاح کامنت بالا==> شماره 1 زدم ....... (10 سال پیش)
0 0
وقتی نوشتم به متد onResume ایراد گرفت. ارور اینه: the method onResume is undefined for thetype Application (10 سال پیش)
0 0
توی oncreate بنویسید( کلاس Application متد onResume نداره!) (10 سال پیش)
0 0
توی oncreate هم نوشتم ولی چیزی تغییر نکرد دیگه نمی دونم باید چیکار کنم. (10 سال پیش)
0 0
کدهایی که برای کلاس Gو اکتیویتی که میخواید یکبار نمایشش بدید نوشتید رو به عنوان پاسخ قرار بدید تا بهتر بشه راهنمایی کرد... (10 سال پیش)
0 0
متشکرم عالی بود . اگ بخوایم ی دیالوگ رو بجای اکتیویتی نمایش بدیم باید چکا کنیم ؟ ممنون میشم راهنماایی کنید . باید دیالوگ رو اینجا (ActivityJustOneShow) تعریف کنیم ؟ اگ بخوایم دیالوگ رو یک بار بعد نصب نمایش بدیم و روی Activity_main نشون بدیم باید چ کدی بنویسیم ممنون میشم رهنمایی کنید .!!!!! (10 سال پیش)

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .