タイトルが示すように、R.string.app_name が変更された可能性があります。通知が更新されないことがあるため、以下のコードが実行されました (logcat で確認できます)。それは可能ですか?
nm.notify(R.string.app_name, notification);
Log.i(TAG, "B:showNotification(): id = " + R.string.app_name);
タイトルが示すように、R.string.app_name が変更された可能性があります。通知が更新されないことがあるため、以下のコードが実行されました (logcat で確認できます)。それは可能ですか?
nm.notify(R.string.app_name, notification);
Log.i(TAG, "B:showNotification(): id = " + R.string.app_name);
いいえ、これは不可能です。すべてのリソースがファイル(フォルダー内)で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値へのオンラインコンバーターを使用する必要があります)