android - 如何在 Activity 中显示充电器是否已插入/拔出?

标签 android broadcastreceiver

我是安卓新手。如果插入或拔出充电器,我想更改 Activity 中 TextView 的文本。为此,我已经在 list 中注册了一个带有 Intent 的接收器 android.intent.action.ACTION_POWER_CONNECTED android.intent.action.ACTION_POWER_DISCONNECTED

以下是接收器的代码:

public class PowerConnectionReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {

    if(intent.getAction() == Intent.ACTION_POWER_CONNECTED) {
        //Handle power connected
        Log.e("Charger State","power connected");
        Toast.makeText(context, "Charger PluggedIn", Toast.LENGTH_SHORT).show();
    } else if(intent.getAction() == Intent.ACTION_POWER_DISCONNECTED){
        //Handle power disconnected
        Log.e("Charger State","power disconnected");
        Toast.makeText(context, "Charger PluggedOut", Toast.LENGTH_SHORT).show();
    }

   }
}

这工作正常,但我想在插入或拔出充电器时在 Activity 中显示它。请帮助我完成任务。

谢谢~

最佳答案

有很多方法可以将数据从广播接收器传递到 Activity

最好的方法是乘坐巴士

compile 'org.greenrobot:eventbus:3.0.0'

//Some Class
public class MessageEvent {
   public final String message;

public MessageEvent(String message) {
    this.message = message;
   }
}

//In Activity
@Override
  public void onStart() {
  super.onStart();
  EventBus.getDefault().register(this);
}

@Override
 public void onStop() {
 EventBus.getDefault().unregister(this);
 super.onStop();
}

//From Broadcast Receiver
//Add this in the Connected and Disconnected methods 
EventBus.getDefault().post(new MessageEvent("Hello everyone!"));

关于android - 如何在 Activity 中显示充电器是否已插入/拔出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38539349/

相关文章:

android - android中广播接收器的多个 Action

java - 如何让倒计时进度条不断向下?

Android链接耳机音量到主音量

带有广播接收器的 Android Alarm Manager 在代码中而不是 list 中注册

java - 无法在 Android 中使用 BroadcastReceiver 上下文初始化接口(interface)

Android SMS Delivery Broadcast 接收器在模拟器中不工作

android - 获取接收者的 Intent 过滤器

android - EditText 单击不起作用

Android 指针事件坐标

android - 整洁的建筑。主持人的职位是什么?