Zmień pasek akcji homeAsUpIndicator Programowo

Użyłem następującego hakowania, aby programowo zmienić homeAsupIndicator.

int upId = Resources.getSystem().getIdentifier("up", "id", "android");
if (upId > 0) {
    ImageView up = (ImageView) findViewById(upId);
up.setImageResource(R.drawable.ic_action_bar_menu);
up.setPadding(0, 0, 20, 0);
}

Ale to nie działa na większości nowych telefonów (HTC One, Galaxy S3 itp.). Czy istnieje sposób, który można zmienić jednolicie na różnych urządzeniach. Muszę go zmienić tylko na ekranie głównym. Inne ekrany miałyby domyślne. Nie można więc użyć pliku styles.xml

questionAnswers(12)

yourAnswerToTheQuestion