检测Android应用程序第一次运行时

时间:2011-11-03 08:30:07

标签: android

当Android应用首次运行时,我需要检测Android设备ID。我提到我不使用共享首选项或文件。如何检测应用程序的第一次运行?

2 个答案:

答案 0 :(得分:2)

您只能在第一次使用该代码块进行操作

onCreate中的

 SharedPreferences prefs =
 PreferenceManager.getDefaultSharedPreferences(this);
        if (prefs.getBoolean("first_time", true)) {
            //do something for first time
            SharedPreferences.Editor editor = prefs.edit();
            editor.putBoolean("first_time", false);
            editor.commit();
        }

答案 1 :(得分:-1)

您可以使用Android.app.Application class来存储标记

第一次初始化flag = false ; ..当应用安装时将标志更改为true

如果要存储数据,需要从应用程序中的任何位置访问的全局变量,来自多个活动,换句话说,您希望维护Application对象可以提供帮助的整个应用程序的全局“状态”。

为此,我们必须创建一个扩展Android.app.Application类的类,将自己的方法添加到其中,并在AndroidManifest.xml中定义此类,如下所示

 <application
    android:name=".HelloApplication "
    android:icon="@drawable/first_aid"
    android:label="@string/app_name" >
...
</application>




public class HelloApplication extends Application {
        private int globalVariable=1;

        public int getGlobalVariable() {
                return globalVariable;
        }

        public void setGlobalVariable(int globalVariable) {
                this.globalVariable = globalVariable;
        }

在任何活动中,您可以读取和写入全局变量,如下所示:

  ((HelloApplication)getApplication()).setGlobalVariable(10);
    int valiable=((HelloApplication)getApplication()).getGlobalVariable();

在应用程序中存在任何未销毁的活动之前,不销毁Application对象。即使从内存中擦除整个应用程序,您也可以根据需要在onCreate方法中重新初始化变量。 您可以尝试相同的数据存储,例如使用带有静态字段和方法的简单对象,如下所示,这是一种不太优雅的方法,如果在整个应用程序被终止后需要重新初始化,则必须在每个活动中实现重新初始化