繁体   English   中英

我怎么知道一个Android应用程序是第一次加载的?

[英]How do I know that an Android app has been loaded for the first time?

我如何确定应用程序在下载后是否首次加载。 我的意思是,当该应用首次从市场上购买/下载时,我如何看待这是第一次(从未在此手机上运行过)要运行,因此我可以进行一些注册活动吗?


是的,我想声明一个要检查的表,看它是否有任何行。 如果有行,那是因为它已被加载,所以我们插入了一行。

但我想避免这种情况,他们的任何API都能告诉我用户以前在此手机上使用过此应用程序吗?

Android具有用于存储首选项的API。

您可以将标志存储在SharedPreferences中, 了解共享首选项

您可以跟踪一个标志,即isFirstTime。 检查一下您的主要活动:

if(isFirstTime)
  // do registration

isFirstTime = false;

您可以将两次执行之间的值保存为共享首选项。 有关如何执行此操作的详细信息,请参见数据存储文档。

在第一次加载时持久保存的地方编写一个属性,并在每次加载时检查该属性,如果存在,那么您就知道它已经被加载一次。 或者,您甚至可以使其成为负载计数器,并且可以将该信息用作统计信息(在某些地方报告)

每个应用程序都有自己的数据目录(/ data / data /)。

只需在其中写入一个空文件,然后在每次启动应用程序时进行检查

我不知道有任何Android Market API会告诉您用户是否以前下载/使用过该应用程序。

我认为您必须自己做,这为您提供了两种选择来在应用程序卸载/重新安装周期中持久保存数据:

(1)将文件保存在SD卡上,以检查该应用是否在安装之前或

(2)与服务器联系,并提供一些特定于用户的信息,以检查服务器之前是否已下载/使用过。

SD卡方法的问题在于,如果用户删除文件或切换SD卡,则该方法无效。

对于服务器模型,您需要有一台服务器来记录一些信息,例如用户ID或设备ID或一些混合信息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM