Tablet ou Telefone?

Olá pessoal!

Alguem ai sabe como descobrir na aplicação se o seu aplicativo esta rodando em uma Tablet ou Celular?

Abraço

Isso deveria ser indiferente, voce pode se preocupar entre os tamanhos de telas (small, medium, large e xlarge)

Eu uso uns métodos uteis assim:

    public static boolean is(int size){
        return (resources.getConfiguration().screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK) == size;
    }
    
    public static boolean isLarge(){
        return is(Configuration.SCREENLAYOUT_SIZE_LARGE);
    }

Nem sempre o motivo de inspecionar o hardware é por motivos de tela.
Eu mesmo já precisei de algo parecido, pois ao carregar uma DLL dinamicamente no windows, eu usava uma DLL caso o sistema fosse 64 bits e outra se fosse 32.

É possível usar o System.getProperty() para recuperar certas variáveis do ambiente, só é preciso encontrar algum fator que seja comum entre os diversos aparelhos alvo.

Por outro lado, usar um critério mais abstrato do que o hardware é melhor. Hoje existem celulares com mais desempenho e recursos que certos tablets.
Por exemplo, caso o aplicativo queira chamar um número de telefone, é melhor verificar se a funcionalidade de chamadas está disponível.

Especificamente para android, este link pode ser interessante: http://developer.android.com/reference/android/telephony/TelephonyManager.html

Este outro link pode ser interessantae também: http://stackoverflow.com/questions/3213205/how-to-detect-system-information-like-os-or-device-type