如何检查功能是否首次运行?

时间:2019-08-06 02:11:22

标签: java android

所以我当前正在修改代码。 在我下面的代码中,每次首次启动活动时都会执行mShakeImage.start()。 我想消除这种情况,并在首次启动活动时停止mShakeImage.start()的触发。我该如何实现?

代码

@Override
public void displayEvent(@AccelerationEvent int event, int data) {
    if(mCurrentDetectEvent == FeatureAcceleratonEvent.DetectableEvent.FREE_FALL)
    {
        mShakeImage.start();
        Context context = getContext();

        //-----------test for position of shake image---------------------
        new AlertDialog.Builder(context)
                .setTitle("Alert")
                .setMessage("This is an alert")
                .show();

        //---------------call function from CallScreen()------------------
        Intent intent = new Intent(context.getApplicationContext(), CallScreen.class);
        context.startActivity(intent);
    }

2 个答案:

答案 0 :(得分:0)

尝试此代码

> 0.5%
last 2 versions
Firefox ESR
not dead
IE 9-11 # For IE 9-11 support, remove 'not'.

答案 1 :(得分:0)

首先,您需要检查此函数,例如是否先执行该函数,然后需要在sharedpreferences中保存一个值。

假设我们将值保存在该方法内部的sharedpreferences中,并在调用该方法之前检查它,例如

if(!sharedPreferences.getBoolean("firstTime", false))
            mShakeImage.start();

现在我们是否是第一次检查您在设备中安装应用程序。此条件为假,您的函数将被执行。

现在在mShakeImage函数内部,我们在sharedPreferences中保存/更改了真值,因此在第二次不满足该条件且不会调用mShakeImage时。