【问题标题】:Update UI upon received SMS收到短信后更新 UI
【发布时间】:2010-09-11 09:25:00
【问题描述】:

我使用来自http://mobiforge.com/developing/story/sms-messaging-android 的代码作为参考。 我添加了滚动视图,它会在发送短信时显示附加文本。

但是我在同一个滚动视图中附加传入的短信文本时遇到问题。 我该如何解决?我需要使用线程、服务吗?

【问题讨论】:

    标签: android sms broadcastreceiver


    【解决方案1】:

    使用广播接收器连接传入的 SMS....在 onStart() 或 @987654322 中触发 Intent(使用 SMS Body 作为额外内容)来触发您的 Activity(您的链接将对此有所帮助)... @你抓住 Extra 并更新你的 UI...

    另一种方法是将ContentObserver 用于content://sms/,但建议不要这样做,除非您确定消息应用程序会拦截短信。

    未经测试的代码!

    Intent intent = new Intent(context,YourActivity.class); //context from onRecieve(context,intentData)
    intent.setFlags( Intent.FLAG_ACTIVITY_NEW_TASK); //required if ur app is not currently running.
    intent.putExtra("SMSBODY",smsbody); //get smsbody from the getMessageBody() (from your link)
    context.startActivity(intent);
    

    在您的活动中...在 onStart()onNewIntent()

    Intent intent = getIntent();
    if(intent.getStringExtra("SMSBODY") != null)
    {
    String msg = intent.getStringExtra("SMSBODY");
    //append msg to scroll view
    }
    

    【讨论】:

    • 在传递意图方面仍有问题。你能提供一些例子吗?
    • @conandor,添加了一些可以更好地指导您的代码,虽然我无法测试它,但无法访问我的开发机器。 :(
    • 是的,我有相同的代码。但它会在收到消息后继续启动新的文本视图
    • 问题已解决。在收到以下零件代码时。谢谢 st0le!
    • @complez,您的活动应该是singleInstance,我相信在这种情况下会调用onNewIntent
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-23
    相关资源
    最近更新 更多