簡體   English   中英

只啟動一次方法

[英]Initiating a method only once

因此,這可能是一個非常基本的問題,但是我找不到適合我的答案。 我有一個方法“ notificationsetter()”,它會啟動一個警報以顯示通知,並且每24小時關閉一次。 問題是,我只需要調用一次該方法,因為如果在警報消失后一次使用它,通知會立即出現(例如,警報設置為7AM,我使用方法10AM,則該通知會在上午10點立即出現)。

所以我在onCreate()的MainActivity中創建了以下代碼:

boolean notificationtrue = false;
    if(notificationtrue==false) {
        notificationsetter();
        notificationtrue = false;

    }

因此,代碼“應該”調用一次該方法,然后,由於notificationtrue始終設置為true,因此不再調用它。 這里的問題是,notificationtrue顯示為灰色,並且android studio說:

“從未使用分配給notificationtrue的false值”

就是說,我的代碼行不通。 還有另一種方法可以只調用一次方法嗎?

像這樣保存一個布爾值

/**
     * Checks that application runs first time and write flag at SharedPreferences
     *
     * @return true if 1st time
     */
    private boolean isFirstTime() {

        SharedPreferences preferences = getPreferences(MODE_PRIVATE);
        boolean ranBefore = preferences.getBoolean(RetailStoreConstants.FIRST_TIME, false);
        if (!ranBefore) {
            // first time
            SharedPreferences.Editor editor = preferences.edit();
            editor.putBoolean(RetailStoreConstants.FIRST_TIME, true);
            editor.commit();
        }
        return !ranBefore;
    }

然后使用此布爾值執行操作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM