代码之家  ›  专栏  ›  技术社区  ›  maxsap

Android如何检测应用程序过去是否运行过

  •  1
  • maxsap  · 技术社区  · 15 年前

    我想知道是否以及如何检测我的应用程序是否在过去的某个Android设备上运行。我希望每次重新启动手机时,都能够检查我的应用程序是否在过去运行,并检索一些私人数据。如果不只是创建这些数据。

    4 回复  |  直到 12 年前
        1
  •  3
  •   Mads Lee Jensen    15 年前

    您可以在应用程序的sharedPreference中存储一个简单的值。

    将其插入到主活动中的onCreate()中

    SharedPreferences shared = getSharedPreferences("config", 0);
    
    
    if (shared.getBoolean("hasRunBefore", false))
    {
     // have run before.
    }
    else
    {
    SharedPreferences.Editor editor = shared.edit();
    editor.putBoolean("hasRunBefore", true);
    editor.commit();
     // have not run before
    }
    
        2
  •  1
  •   Rich    15 年前

    正如其他人所说,读写这些信息的最简单方法是在共享的引用中。但是,您说过每次重新启动手机时都要这样做。实现这一点的方法是实现一个BroadcastReceiver并注册以接收action_boot_completed消息,并确保向清单中添加接收_boot_completed的权限。

    http://developer.android.com/guide/appendix/faq/commontasks.html#broadcastreceivers http://developer.android.com/reference/android/content/Intent.html#ACTION_BOOT_COMPLETED http://developer.android.com/reference/android/Manifest.permission.html#RECEIVE_BOOT_COMPLETED

        3
  •  0
  •   fedj    15 年前

    检查此数据是否存在?或将某些内容放入应用程序的默认首选项管理器中

        4
  •  0
  •   Tarka user370305    15 年前

    您可以使用共享的引用保存所有内容。这将创建一个应用程序可读的文件,该文件将在首次写入时创建。

    请参见以下内容: