问题说我怎么知道该应用程序是首次在Android用户设备中启动的?
答案 0 :(得分:1)
使用SharedPreferences
知道应用是第一次还是第二次打开。此代码应在您的应用启动时,例如OnCreate
中的MainActivity
var pref = PreferenceManager.GetDefaultSharedPreferences(Application.Context);
var editorLogin = pref.Edit();
if (pref.GetBoolean("firstTime", true))
{
Toast.MakeText(this, "App opening first time", ToastLength.Short).Show();
editorLogin.PutBoolean("firstTime", false).Commit();
}
else
{
Toast.MakeText(this, "App opening second time", ToastLength.Short).Show();
}
答案 1 :(得分:0)
据我所知,您可以使用两种方法来执行此操作,最简单的一种方法是“共享”偏好设置,因为它们可以从android端获得,并且非常轻巧。
相当于SharedPreferences
的Xamarin.Android是一个名为ISharedPreferences
的接口。
例如,要使用某些bool
保存是非题Context
,您可以执行以下操作:
ISharedPreferences prefs = PreferenceManager.GetDefaultSharedPreferences (mContext);
ISharedPreferencesEditor editor = prefs.Edit ();
editor.PutBoolean ("is_first_time", mBool);
// editor.Commit(); // applies changes synchronously on older APIs
editor.Apply(); // applies changes asynchronously on newer APIs
使用以下方式访问保存的值:
ISharedPreferences prefs = PreferenceManager.GetDefaultSharedPreferences (mContext);
mBool = prefs.GetBoolean ("is_first_time", <default value>);
if(mBool)
{
//this is first time
prefs.PutBoolean ("is_first_time", false).Apply();
}
else
{
//this is second time onwards
// your piece of code
}