1

我只想在应用程序启动时执行一次操作。因此,我尝试将代码放在主要活动的 onCreate 中,但是当用户返回主要活动和/或设备方向发生变化时,它会一次又一次地触发。哪个事件更适合我的用例?

4

2 回答 2

1

创建一个静态布尔值,并检查该布尔值是否已设置

例如

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

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

于 2012-10-30T08:07:47.417 回答
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" 
    >
于 2012-10-30T08:34:45.997 回答