Cambia la barra de acción de inicioAsUpIndicator de manera programática

Utilicé el siguiente truco para cambiar el homeAsupIndicator mediante programación.

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);
}

Pero esto no funciona en la mayoría de los teléfonos nuevos (HTC One, Galaxy S3, etc.). ¿Hay alguna manera de cambiar de manera uniforme en todos los dispositivos? Necesito que se cambie solo en la pantalla de inicio. Otras pantallas tendrían la predeterminada. Así que no se puede usar el styles.xml.

Respuestas a la pregunta(12)

Su respuesta a la pregunta