【问题标题】:Pass SMS from BroadcastReceiver to Activity将 SMS 从 BroadcastReceiver 传递到 Activity
【发布时间】:2015-04-15 15:21:35
【问题描述】:

我正在创建一个短信应用。我可以很好地发送消息,但是我无法接收它。我已经成功实现了允许将应用程序选为设备上的默认 SMS 应用程序的功能。

我遇到的问题是我无法将短信从BroadcastReceiver 传递到显示消息的活动。我知道可以将intent.putExtra() 用于消息,然后使用startActivity(),但是如果在收到消息时该活动已经开始,会发生什么?我不想每次收到新消息时都重新开始活动。

【问题讨论】:

  • 所以你的问题是,你怎么能不开始一个已经开始的活动并发送你的短信数据呢?

标签: android android-activity broadcastreceiver android-broadcast smsmanager


【解决方案1】:

有几种方法可以给猫剥皮,一种方法是在 Activity 中安装一个类似这样的接收器

    void onResume(){
        super.onResume();
        IntentFilter filter = new IntentFilter();
        filter.addAction("android.provider.Telephony.SMS_RECEIVED");
        registerReceiver(mSmsReceiver, filter);
    }

    void onPause(){
        super.onPause();
        unregisterReceiver(mSmsReceiver);
    }

    private BroadcastReceiver mSmsReceiver = new BroadcastReceiver() {
    @Override
    public void onReceive(Context context, Intent intent) {
       //Do you stufff
    }
};

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-09-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多