A nona semana do resumo do aprendizado de desenvolvimento do Android (2)

Escreva na frente

O horário atual é 01:29:20, 17 de abril de 2020, que é meia-noite. Depois de um dia agitado estudando e lidando com a lição de casa, finalmente tenho tempo para aprender o conhecimento de desenvolvimento do Android. Hoje estou aprendendo a transmissão de um dos quatro principais componentes do Android. O conteúdo da transmissão foi substancialmente modificado pelo Google após o Android 8.0, portanto, esse conteúdo não é muito para aprender e não é muito para usar.

Exibindo energia e outros conteúdos através do monitoramento de transmissão

Ainda é o jeito antigo, aprenda pelo exemplo. Aqui, escrevemos uma pequena demonstração para monitorar o poder. A interface não é mais exibida, observe principalmente a gravação de Activity:

   private void registerBatteryReceiver() {
        //第二步:我们要收听的频道是:电量变化
        IntentFilter intentFilter = new IntentFilter();
        //第三步:设置频道
        intentFilter.addAction(Intent.ACTION_BATTERY_CHANGED);
        mBatteryLevelReceiver = new BatteryLevelReceiver();
        //这种注册方式是动态注册
        //第四步:注册广播
        this.registerReceiver(mBatteryLevelReceiver,intentFilter);
    }

O exposto acima é que o registro de receptores de transmissão (registro dinâmico) após o Android 8.0 é mais conveniente e fácil de usar. O registro estático é restrito pelo Google e muitas funções não estão mais disponíveis.
A seguir está o processamento do conteúdo recebido

          if (intent.ACTION_BATTERY_CHANGED.equals(action)) {
                Log.d(TAG,"收到了电量变化的广播   action is  "+action);
                Log.d(TAG,"当前电量为:"+ intent.getIntExtra(BatteryManager.EXTRA_LEVEL,0));
                int currentLevel = intent.getIntExtra(BatteryManager.EXTRA_LEVEL,0);
                if(mBatteryLevelText!=null){
                    mBatteryLevelText.setText("当前电量为:"+ intent.getIntExtra(BatteryManager.EXTRA_LEVEL,0));
                }
                int maxLevel = intent.getIntExtra(BatteryManager.EXTRA_SCALE, 0);
                //拿到当前电量的最大值后,再除以最大值
                float percent = currentLevel*1.0f/maxLevel;
                Log.d(TAG,"当前电量百分比为:"+percent*100+"%");
            }

Como você pode ver, a operação ainda é muito simples. Da mesma forma, podemos adicionar código para implementar a instalação de aplicativos de monitoramento, conexão USB, etc.

        intentFilter.addAction(Intent.ACTION_POWER_CONNECTED);
        intentFilter.addAction(Intent.ACTION_POWER_DISCONNECTED);
        intentFilter.addAction(Intent.ACTION_PACKAGE_ADDED);
        intentFilter.addAction(Intent.ACTION_PACKAGE_REMOVED);
        intentFilter.addDataScheme("package");
else if(Intent.ACTION_POWER_CONNECTED.equals(action)){
                Log.d(TAG,"usb线连接上了...");
                mUsbStatusText.setText("usb连上了");
            }else if(Intent.ACTION_POWER_DISCONNECTED.equals(action)){
                Log.d(TAG,"usb线断开了...");
                mUsbStatusText.setText("usb断开了");
            }else if(Intent.ACTION_PACKAGE_ADDED.equals(action)){
                Log.d(TAG,"应用安装了....");
            }else if(Intent.ACTION_PACKAGE_REMOVED.equals(action)){
                Log.d(TAG,"应用卸载了...");
            }

(Os itens acima foram escritos após o Android 8.0)

Transmissão ordenada

A frequência da transmissão ordenada é relativamente baixa, portanto, apenas o farei aqui. A chamada transmissão ordenada significa que as transmissões enviadas estão em ordem e são transmitidas em ordem de alto a baixo. Para definir a transmissão ordenada no Android 8.0 e superior, é necessário registro dinâmico. O código não está mais publicado aqui, então corra.

Postscript

Devido à sua base fraca, é preciso mais esforço do que outros para alcançá-lo. Eu deveria aprender o desenvolvimento do Android nas férias de inverno, mas usei-o para consolidar minha fundação da web em java. Me fez baixar muito conteúdo. Trabalho duro é inevitável. Se você não lutar agora, vai se arrepender mais cedo ou mais tarde. Vamos lá. Boa noite

Acho que você gosta

Origin www.cnblogs.com/wushenjiang/p/12717141.html
Recomendado
Clasificación