2012-10-30 45 views
1

我只想在应用程序启动时执行一次操作。 因此,我尝试将代码放置在主活动的onCreate内,但当用户返回到主活动和/或设备方向更改时,会一再触发此代码。 哪个事件适合我的使用情况?Android Activity onInitialize

+0

当活动被重建的onCreate只应调用。如果启动应用程序,请按主页,然后再次启动应用程序,它只会调用Resume – RvdK

+0

考虑在sharedpreferences中存储布尔值。 – ThePCWizard

回答

0

在应用程序级别编写代码。

Class MyClass extends Application 
    { 
    @Override 
    public void onCreate() { 
      //your code. This will be executed only once.i.e. when app is started. 

      super.onCreate(); 
    } 
    } 

您需要在AndroidManifest.xml也声明这个类。如所示

<application 
    android:name=".MyClass" 
    android:icon="@drawable/logo" 
    android:label="@string/str_app_name" 
    android:theme="@android:style/Theme.NoTitleBar" 
    > 
1

创建静态布尔和或检查这个布尔已经被设置为不

为e.g

private static boolean flag = false; 
    // perform this check inside oncreate 
    if(!flag){ 
     // peform task 
     flag = true; 
    } 

这将会使你的代码只运行一次,在程序启动时。