Android – Ativar o Roteador Wi-Fi programaticamente. (How to turn on hotspot in Android Programmatically)

android_hotspot

O método abaixo é capaz de ativar e configurar o roteador wi-fi, veja que podemos passar a classe WifiConfiguration para configurar, caso queira manter a mesma configuração basta passar ‘null’.

    /**
     * Exemplo:
     * WifiConfiguration netConfig = new WifiConfiguration();
     * netConfig.SSID = "EVE03";
     * netConfig.allowedAuthAlgorithms.set(WifiConfiguration.AuthAlgorithm.OPEN);
     * netConfig.allowedProtocols.set(WifiConfiguration.Protocol.RSN);
     * netConfig.allowedProtocols.set(WifiConfiguration.Protocol.WPA);
     * netConfig.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE);
     *
     * @param wifiConfiguration passar null para manter as configurações atuais
     * @param enable habilitar ou nao o hotspot/wifi ap
     * @throws Exception
     */
    public void setWifiApEnable(WifiConfiguration wifiConfiguration, boolean enable) throws Exception {
        WifiManager wifi_manager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
        Method wifiApConfigurationMethod = wifi_manager.getClass().getMethod("setWifiApEnabled", WifiConfiguration.class, boolean.class);
        wifiApConfigurationMethod.invoke(wifi_manager, wifiConfiguration, enable);
    }

Lembre-se de aplicar as permissões necessárias:
Continue reading

Android – Iniciar Service no boot (How to auto-start services on boot)

inicializando

Um Service é um componente de aplicação que pode executar operações de longa duração em segundo plano e não fornece uma interface ao usuário. Outro componente do aplicativo pode iniciar um serviço funcionando em segundo plano, mesmo se o usuário mudar para outro aplicativo. Além disso, um componente pode se ligar a um serviço para interagir com ele e até mesmo realizar a comunicação entre processos (IPC). Por exemplo, um serviço pode lidar com transações de rede, tocar música, executar  arquivo de I/O, ou interagir com um provedor de conteúdo.

Porem a questão é: “Como iniciar um service no boot do Android?”

Neste caso precisamos de um Service e de um BroadcastReceiver que receberá a notificação do boot do sistema. Neste exemplo vamos criar duas classes: Servico.java e BootReceiver.java.

Veja abaixo como vai ficar nosso arquivo Manifest: Continue reading

Android – Lendo o Logcat de dentro de um app (Read logcat programmatically within application)

logcat

O sistema de exploração Android fornece um mecanismo para a coleta e visualização de logs chamado logcat. Nele as mensagens de depuração e de sistemas de várias aplicações são recolhidas e registradas, e podem então ser visualizadas e filtrada pelo comando logcat.

Para obter informações completas sobre as opções LogCat e especificações de filtragem, consulte Leitura e Escrita Logs.
Para mais informações sobre como acessar logcat de DDMS, ao invés da linha de comando, consulte Usando o DDMS .

Neste post vamos mostrar como ler o arquivo de log do android programaticamente. Primeiro vamos inserir as seguintes permissões:

<uses-permission android:name="android.permission.READ_LOGS" />
<uses-permission android:name="android.permission.ACCESS_SUPERUSER" />

Agora para capturar o log: Continue reading

Android – Adicionando ícones na ActionBar

actionbar

A ActionBar é uma característica da janela para identificar a aplicação e fornecer ações ao usuários e modos de navegação. Você deve usar a ActionBar  na maioria das atividades que precisam apresentar ações do usuário ou uma navegação global, pois fornece uma interface consistente entre os aplicativos e o sistema.

Abaixo vamos mostrar como inserir algumas informações na actionBar e icones de ações, assim como mostrado na imagem acima. Continue reading

Android – Imagem 9-patch no ImageView (9-patch graphic doesn’t scale in image view)

9-patch

Resumidamente a imagem 9-patch é utilizada para redimensionar uma imagem sem perder sua forma. No software 9-patch que se encontra na pasta tools de seu sdk definimos com marcação de um pixel ‘preto’ a área que deve ser escalada (superior e esquerda) e opcionalmente área de padding (inferior e direita).

Para que a imagem 9-patch funcione corretamente com escala você deve atribuir a tag android:scaleType=”fitXY” em seu xml.
Abaixo segue um exemplo utilizando a imagem “indicator.9.png”

<ImageView
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:src="@drawable/indicator"
android:scaleType="fitXY"
/>

Fonte da imagem :http://goo.gl/37OQl

Android – Desabilitar o scroll/swipe horizontal do ViewPager (Disable paging/swiping of a ViewPager)

swiping android

Para desabilitar a movimentação horizontal com os dedos(Scroll/Swipe) do ViewPager faça:

        viewPager.setOnTouchListener(new OnTouchListener() {

            public boolean onTouch(View arg0, MotionEvent arg1) {
                    return true;
            }
        });

Se você quiser habilitar novamente:

    viewPager.setOnTouchListener(null);

Fonte da imagem: http://goo.gl/02bDS

Android – Limpar a pilha de Activity, ‘Android Stack’ (How to clear the Android Stack of activities?)

acitivty android stack

Como conhecedor da plataforma Android, DEVEMOS saber que ao chamarmos o método startActivity estamos adicionando a atividade em uma fila (ou pilha), o Android chama essa fila de ‘Android Stack’.

Há situações que ao iniciarmos uma nova Activity temos que limpar a pilha, para fazer isso basta definirmos certas “flags” no Intent responsável. Veja o exemplo: Continue reading

Android – Pegar Thumbnail de vídeo (Get Thumbnail image of video from video url)

android thumbnail

 

O Thumbnail são versões reduzidas de imagens, usadas para tornar mais fácil o processo de busca e visualização. Neste exemplo vamos ver como capturar um Thumbnail de um arquivo de vídeo em nosso sdcard.

Abaixo é mostrado um método simples para isso, ele recebe uma String que é o diretório e retorna um Bitmap no qual pode ser atribuído a um ImageView.

    public Bitmap getThumbnailFromVideo(String file) {
        return ThumbnailUtils.createVideoThumbnail(file,
                MediaStore.Images.Thumbnails.MINI_KIND);
    }

Veja abaixo um exemplo de uso. Continue reading

Android – Autocompletar (MultiAutoCompleteTextView, AutoCompleteTextview)

MultiAutoCompleteTextView

O MultiAutoCompleteTextView permite selecionarmos vários itens de uma lista, este recurso pode ser muito utilizado em casos de envio de mensagens ou destinatários no envio de um Email.

Ele extende AutoCompleteTextView que é utilizado para completar somente um item. Sua implementação é feita da mesma maneira.

Para implementarmos utilizaremos recursos básicos como, uma lista de itens, um xml para o item e um adapter para inserirmos no MultiAutoCompleteTextView.

Abaixo segue o xml responsável pelo componente e o pelo item.

Continue reading

Android – Minimizar aplicação moveTaskToBack (Minimize activity on back key press)

Android minimizar

Para minimizar  a aplicação/activity  você utilizará um recurso chamado moveTaskToBack.
Abaixo segue o código de como implementar esse recurso através do botão “back” do dispositivo:

    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) {
            this.moveTaskToBack(true);
            return true;
        }
        return super.onKeyDown(keyCode, event);
    }