我正在使用 ApacheCordova/Phonegap 开发一个移动应用程序。我需要一个在每次安装时向我发送一次 SMS 的功能。如果我将我的功能放在“DeviceReady”上,它将在每次应用打开时运行。安装应用程序或首次运行时是否有任何解决方案可以运行功能?
任何建议将不胜感激。
我正在使用 ApacheCordova/Phonegap 开发一个移动应用程序。我需要一个在每次安装时向我发送一次 SMS 的功能。如果我将我的功能放在“DeviceReady”上,它将在每次应用打开时运行。安装应用程序或首次运行时是否有任何解决方案可以运行功能?
任何建议将不胜感激。
检查是否是第一次使用某个方法,如果该方法确定它是第一次,则执行该操作。
前任:
isFirstTime() 方法
private boolean isFirstTime()
{
SharedPreferences preferences = getPreferences(MODE_PRIVATE);
boolean ranBefore = preferences.getBoolean("RanBefore", false);
if (!ranBefore) {
SharedPreferences.Editor editor = preferences.edit();
editor.putBoolean("RanBefore", true);
editor.commit();
// Send the SMS
}
return ranBefore;
}
您可能希望将其添加到您的onCreate()
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
topLevelLayout = findViewById(R.id.top_layout);
if (isFirstTime()) {
topLevelLayout.setVisibility(View.INVISIBLE);
}
我在本地存储中添加了一个字段,并在启动时检查该字段是否存在。所以是这样的:
if (window.localStorage.getItem("installed") == undefined) {
/* run function */
window.localStorage.setItem("installed", true);
}
编辑:我比其他方法更喜欢这种方法的原因是它也适用于 iOS、WP 等,而不仅适用于 android
这应该是你正在寻找的:
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
if(!prefs.getBoolean("firstTime", false))
{
// run your one time code
SharedPreferences.Editor editor = prefs.edit();
editor.putBoolean("firstTime", true);
editor.commit();
}
使用一些布尔值,如果它的真实不调用该函数,否则调用该函数示例在这里
if(smssent!=true)
{
//call sms sending method
}
else
{
//just leave blank or else notify user using some toast message
}
注意:- 某些数据库中的布尔值存储,如 sharedprefernce 或 sqllite,文件....