[英]How to detect if app has been installed for more than a day?
檢測我的應用程序是否已安裝超過一天的最簡單方法是什么? 我想使用 Kotlin。
偽代碼:
if(appInstalledForMoreThanADay)
{
print("this app has been installed on this device for more than 1 day")
}
您可以通過context.getPackageManager()
獲取實際安裝時間並獲取PackageInfo
public long firstInstallTime
首次安裝應用程序的時間。 單位按照
System#currentTimeMillis()
如果你喜歡,也有lastUpdateTime
正如亨利提到的,您可以使用共享首選項來保存安裝日期,然后每次應用程序啟動時檢查當前日期是否比保存日期大一天。 它應該是這樣的:
class MainActivity : AppCompatActivity()
{
companion object
{
const val INSTALLATION_DATE_KEY = "INSTALLATION_DATE_KEY"
const val MILLIS_IN_ONE_DAY = 86_400_000L;
}
override fun onCreate(savedInstanceState: Bundle?)
{
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val sharedPref = getPreferences(Context.MODE_PRIVATE) ?: return
val installationTime = sharedPref.getLong(INSTALLATION_DATE_KEY, -1L)
if (installationTime == -1L) // app run for first time
{
with(sharedPref.edit()) {
val time = System.currentTimeMillis()
Log.d("MyTag", "First run. Time = $time")
putLong(INSTALLATION_DATE_KEY, time)
commit()
}
}
else
{
if (System.currentTimeMillis() - MILLIS_IN_ONE_DAY >= installationTime)
{
Log.d("MyTag", "App installed more than one day ago")
}
else
{
Log.d("MyTag", "App installed less than one day ago")
}
}
}
}
附注。 它不會是“安裝”時間,而是“首次運行時間”。 因此,當用戶安裝該應用程序並在 2 天后第一次運行它時,它將無法工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.