通知广播接收器的片段或活动

pavol.franek

我需要广播接收机的通知片段/活动,但找不到解决方案。

说明:当片段启动我的方法时,如果没有要求用户将其打开,请检查GPS模块是否已打开。现在,我已经为gps广播了接收器,并且当gps开启或关闭时,我收到消息,这可行。但是现在我需要做一些类似界面的事情,当我打开/关闭GPS时,我想分段调用我的方法。我不确定是否清楚我需要什么。在这里,我尝试使用接口,但随后发现,因此无法将接口对象传递给广播接收器构造函数。

我的接口解决方案但不起作用:

    public class GpsLocationReceiver extends BroadcastReceiver {

    private INotifyGpsTurnedOn iNotifyGpsTurnedOn = null;

    public GpsLocationReceiver(INotifyGpsTurnedOn iNotifyGpsTurnedOn) {
        this.iNotifyGpsTurnedOn = iNotifyGpsTurnedOn;
    }

    @Override
    public void onReceive(Context context, Intent intent) {
        LocationManager lm = (LocationManager) context.getSystemService(Service.LOCATION_SERVICE);
        boolean isEnabled = lm.isProviderEnabled(LocationManager.GPS_PROVIDER);
        Toast.makeText(context, isEnabled+"",
                Toast.LENGTH_SHORT).show();

        if(isEnabled){
            iNotifyGpsTurnedOn.iniGps();
        }
        else{
            iNotifyGpsTurnedOn.askTurnOnGps();
        }
    }

    public interface INotifyGpsTurnedOn {
        public void iniGps();
        public void askTurnOnGps();
    }
}

在片段类中,我具有与方法,寄存器接收器等的实现接口...

 GpsLocationReceiver m_gpsChangeReceiver = new GpsLocationReceiver(this);
    getActivity().registerReceiver(m_gpsChangeReceiver, new IntentFilter(LocationManager.PROVIDERS_CHANGED_ACTION));

    @Override
public void iniGps() {
    mGps.startGps(false);
}

@Override
public void askTurnOnGps() {
    mGps.askUserToTurnOnGPS(getActivity());
}
大卫·水

这样很好。您可以声明一个,Interface并在构造器中提供它。只要您实例化您BroadcastReceiver自己,并且不要让Android执行此操作,此方法就起作用您无需BroadcastReceiver在清单中声明

您得到的原因Exception: Unable to instantiate receiver no empty constructor.是因为Android试图实例化BroadcastReceiver(无论出于何种原因)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

尝试从广播接收器开始活动

来自分类Dev

来自广播接收器的通知

来自分类Dev

即使不在视线中也能保持片段广播接收器处于活动状态

来自分类Dev

片段中的广播接收器无法从服务接收意图

来自分类Dev

广播接收器

来自分类Dev

永远不要从广播接收器开始活动?

来自分类Dev

从广播接收器更新活动UI组件?

来自分类Dev

从广播接收器向活动发送警报

来自分类Dev

自定义广播接收器,用于活动测量

来自分类Dev

在非活动类别中注册广播接收器

来自分类Dev

与广播接收器进行关闭活动时强制关闭

来自分类Dev

Android:将值从活动传递到广播接收器

来自分类Dev

广播接收器如何在活动之间工作?

来自分类Dev

与活动生命周期无关的广播接收器

来自分类Dev

我的通知无法播放广播接收器

来自分类Dev

如何从广播接收器发出通知

来自分类Dev

广播接收器vs唤醒广播接收器

来自分类Dev

广播接收器或服务?

来自分类Dev

接收并注册广播接收器

来自分类Dev

广播接收器几天后停止接收(本地通知)

来自分类Dev

从广播接收器启动活动意图会显示错误的活动

来自分类Dev

从MvvM架构和Kotlin中的广播接收器更新片段ui

来自分类Dev

将数据从广播接收器发送到android片段

来自分类Dev

广播接收器类将状态发送到片段

来自分类Dev

我的广播接收器未从本地服务接收广播

来自分类Dev

Android 广播接收器未接收显式广播?

来自分类Dev

如何将Arraylist从活动传递到广播接收器到另一个广播接收器

来自分类Dev

从广播接收器开始活动时,无法访问SharedPreferences

来自分类Dev

通过从广播接收器的onReceive的主要活动开始关闭ProgressDialog

Related 相关文章

热门标签

归档