سلام
من برای نرم افزار خودم یه splash screen ساختم.
روی امولاتور خوب جواب میده و پس از 5 ثانیه وارد صفحه اصلی نرم افزار میشه. ولی زمانی که فایل نصبی نرم افزار رو روی گوشی نصب و اجرا می کنم روی صفحه splash می مونه و صفحه اصلی نرم افزار باز نمیشود!
دلیل این مشکل چیه؟ چطوری رفعش کنم؟
سلام یک thread تعریف کنید و یک مقدار برای آن مشخص نمایید، به محض تمام شدن زمان صفحه ی اصلی باید نمایش داده شود، حتما هم داخل متد oncreate تعریف نمایید و activity مورد نظر را صدا بزنید.این چند مورد را تست کنید اگر مشکلی بود کد را قرار دهید.
کدی که نوشته ام به صورت زیر هست. روی شبیه ساز درست جواب میدهد. ولی روی گوشه نه! ( در صفحه مربوط به splash یا intro می ماند و صفحه بعد باز نمی شود!)
namespace App { [Activity(Label = "App", MainLauncher = true, Icon = "@drawable/icon", NoHistory = true)] public class SplashActivity : Activity { Timer timer = new Timer(); protected override void OnCreate(Bundle bundle) { base.OnCreate(bundle); // Create your application here SetContentView(Resource.Layout.SplashScreen); timer.Interval = 5000; timer.Elapsed += timer_Elapsed; timer.Start(); } void timer_Elapsed(object sender, ElapsedEventArgs e) { StartActivity(typeof(Activity1)); timer.Stop(); } } }
لطفا کمک کنید
شما activity که برای splash تعریف کردید فقط start کردید باید این activity بسته هم شود کد زیر را امتخان کنید به جای کد خودتون
import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.os.Handler; public class SplashScreen extends Activity { // Splash screen timer private static int SPLASH_TIME_OUT = 3000; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_splash); new Handler().postDelayed(new Runnable() { /* * Showing splash screen with a timer. This will be useful when you * want to show case your app logo / company */ @Override public void run() { // This method will be executed once the timer is over // Start your app main activity Intent i = new Intent(SplashScreen.this, MainActivity.class); startActivity(i); // close this activity finish(); } }, SPLASH_TIME_OUT); } }
این کد رو وارد کردم ارور داد نتونستم کامپایل کنم!
چه اروری میده لطفا ارور و بزارید
این لینک مقاله را مطالعه کنید نمونه کد هم قرار گرفته است سوالی بود بفرمایید.
کدی که در آموزش بود را وارد کردم. فرقی نکرد! باز هم مثل قبل در شبیه ساز درست نشان میدهد! ولی در موبایل ظاهرا Time کار نمیکند و وارد صفحه بعد نمی شود
من روی گوشی خودم امتحان کردم درست کار می کنه همین Apk من و روی گوشی خودتون نصب کنید ببینید درست کار میکنه یا نه ؟
شاید رویداد و داخل androidmanifest معرفی نکردید که زمانی که تایم تموم شد وارد activity دوم برود.
سلام
من همون کد قبلی رو که نوشته بودم رو در چندتا گوشی چک کردم گوشی هایی که اندوید 4 دارند درست کار میکنه! ولی اندوید 5 و 6 روی صفحه splash گیر میکنه! دلیلش چی میتونه باشه؟
کد رو یک با ر دیگه میزارم :
namespace SLink { [Activity(Label = "SLink", MainLauncher = true,Theme = "@android:style/Theme.Black.NoTitleBar.Fullscreen", Icon = "@drawable/icon", NoHistory = true)] public class SplashActivity : Activity { Timer timer = new Timer(); protected override void OnCreate(Bundle bundle) { base.OnCreate(bundle); // Create your application here SetContentView(Resource.Layout.SplashScreen); timer.Interval = 5000; timer.Elapsed += timer_Elapsed; timer.Start(); } void timer_Elapsed(object sender, ElapsedEventArgs e) { StartActivity(typeof(Activity1)); timer.Stop(); } } }
فایل apk رو هم قرار میدم چک کنید
خانم اسماعیلی فایل apk رو که قرار دادین رو چطوری دانلود و تست کنم من هیچ لینکی ندیدم!
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)