La novena semana del resumen de aprendizaje de desarrollo de Android (2)

Escribir en frente

La hora actual es 01:29:20, 17 de abril de 2020, que es medianoche. Después de un día ajetreado de estudiar y manejar la tarea, finalmente tengo tiempo para aprender los conocimientos de desarrollo de Android. Hoy estoy aprendiendo la transmisión de uno de los cuatro componentes principales de Android. El contenido de la transmisión ha sido modificado sustancialmente por Google después de Android 8.0, por lo que este contenido no tiene mucho que aprender ni mucho que usar.

Mostrar potencia y otro contenido a través del monitoreo de transmisión

Sigue siendo la vieja manera, aprende con el ejemplo. Aquí escribimos una pequeña demostración para controlar el poder. La interfaz ya no se muestra, principalmente mira la escritura de Actividad:

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

Lo anterior es que el registro de receptores de transmisión (registro dinámico) después de Android 8.0 es más conveniente y fácil de usar. El registro estático está restringido por Google, y muchas funciones ya no están disponibles.
El siguiente es el procesamiento del contenido recibido.

          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 puede ver, la operación sigue siendo muy simple. Del mismo modo, podemos agregar código para implementar la instalación de la aplicación de monitoreo, conexión 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,"应用卸载了...");
            }

(Lo anterior está escrito después de Android 8.0)

Difusión ordenada

La frecuencia de transmisión ordenada es relativamente baja, por lo que solo lo haré aquí. La llamada transmisión ordenada significa que las transmisiones enviadas están en orden y se transmiten en orden de mayor a menor. Para definir la transmisión ordenada en Android 8.0 y superior, se requiere un registro dinámico. El código ya no se publica aquí, así que date prisa.

Postdata

Debido a su base débil, se necesita más esfuerzo que otros para ponerse al día. Debería aprender el desarrollo de Android en las vacaciones de invierno, pero lo he usado para consolidar mi base web java. Causó que bajara mucho contenido. El trabajo duro es inevitable. Si no lucha ahora, lo lamentará tarde o temprano. Vamos Buenas noches

Supongo que te gusta

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