0

タイトルが示すように、R.string.app_name が変更された可能性があります。通知が更新されないことがあるため、以下のコードが実行されました (logcat で確認できます)。それは可能ですか?

    nm.notify(R.string.app_name, notification);
    Log.i(TAG, "B:showNotification(): id = " + R.string.app_name);
4

1 に答える 1

1

いいえ、これは不可能です。すべてのリソースがファイル(フォルダー内)でR.*.*定数として定義されているためです。これらは後でAndroidによって編集されません。R.java/gen/<your-package>

例:

public final class R {
    public static final class anim {
        public static final int accelerate_interpolator=0x7f040000;
        public static final int activity_slide_in=0x7f040001;
        public static final int activity_slide_out=0x7f040002;
    }
    public static final class attr {
    }
    public static final class drawable {
        public static final int ic_action_search=0x7f020000;
        public static final int ic_launcher=0x7f020001;
    }
    public static final class id {
        public static final int main_layout=0x7f070001;
        public static final int scroll=0x7f070000;
    }
    public static final class layout {
        public static final int main=0x7f030000;
    }
    public static final class string {
        public static final int app_name=0x7f050000;
    }
    public static final class style {
        public static final int AppTheme=0x7f060000;
    }
}

これは私の実際のプロジェクトの1つからのR.javaファイルです。ご覧のとおり、各値はfinal intアプリの開発時に割り当てられる値です(すべての値は16進数を使用して割り当てられるため、実際のint値へのオンラインコンバーターを使用する必要があります)

于 2012-09-23T06:16:49.173 に答える