如何知道在Xamarin Android中安装后是否首次打开应用程序

时间:2018-10-15 05:18:36

标签: xamarin.android

问题说我怎么知道该应用程序是首次在Android用户设备中启动的?

2 个答案:

答案 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
}