当前位置: 首页 > 知识库问答 >
问题:

使用服务的传入文本消息的通知

聂宜
2023-03-14

我从几天以来一直对我的问题感到震惊。实际上,我想要做的是创建一个通知服务,即使用户不在应用程序中,也为用户提供警报。并且该服务应每5分钟检查传入消息。并且通知应该与通知抽屉中的通知收件箱样式完全相同。我需要通过单击通知来调用特定的活动。有人能建议我怎么做吗?谢谢你的帮助....

共有1个答案

晁璞
2023-03-14

首先,您需要获得接收和阅读短信的权限。您可以使用以下代码在AndroidManifest.xml中执行以下操作:-

    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
  package="com.example.sms"
  android:versionCode="1"
  android:versionName="1.0">
<uses-sdk android:minSdkVersion="8" />

<uses-permission android:name="android.permission.RECEIVE_SMS"></uses-permission>
<uses-permission android:name="android.permission.READ_SMS"></uses-permission>

<application android:icon="@drawable/icon" android:label="@string/app_name">
    <receiver android:name=".SMSBroadcastReceiver">
        <intent-filter>
            <action android:name="android.provider.Telephony.SMS_RECEIVED"/>
        </intent-filter>
    </receiver>

</application></manifest>

然后您需要将您的BroadcastReceiver设置为接收传入SMS的通知。

public class SMSBroadcastReceiver extends BroadcastReceiver{

@Override
public void onReceive(Context context, Intent intent) {
    Bundle bundle = intent.getExtras();
    SmsMessage[] msgs = null;
    String str = "no message received";
    if(bundle != null){

        Object[] pdus = (Object[]) bundle.get("pdus");
        msgs = new SmsMessage[pdus.length];
        for(int i=0; i<msgs.length;i++){

            msgs[i]= SmsMessage.createFromPdu((byte[])pdus[i]);
            str += "SMS from Phone No: " +msgs[i].getOriginatingAddress();
            str +="\n"+"Message is: ";
            str += msgs[i].getMessageBody().toString();
            str +="\n";
        }

        Log.v("Debug", str);
        Toast.makeText(context, str, Toast.LENGTH_SHORT).show();
    }
}}

上面的代码将得到你的短信发送者的联系号码和消息,是收到的。

 类似资料:
  • 我对尝试将微服务/SOA作为一种体系结构非常感兴趣,并且很难对服务之间的集成进行概念化。 我喜欢使用消息传递将客户端与服务分离的想法,但不理解系统如何独占地使用它。典型的异步操作和发布/订阅显然是有意义的——比如创建新订单、广播数据以进行报告等。我不明白的是,人们是否通常尝试在常见的请求/回复场景中使用消息传递——例如,用户点击他们的“个人资料”页面,而需要在页面上呈现的部分数据来自用户服务。 我

  • 我正在开发一个基于通知的应用程序,为此我需要监听传入的通知。我已经能够监听来电、短信、邮件等。我不知道如何通过代码监听Whatsapp上朋友的ping或消息。这实际上能做到吗?如果是,怎么做?可访问性服务是否可以用于此,使用包名为“com.whatsapp”?

  • 问题内容: 我是android开发的新手,正在开发小型android应用程序。在我的应用程序中,我想检索新出现的短信并向用户显示此消息。我的代码看起来像 我在Android Manifest.xml中添加了接收者和权限 我在布局部分没有做任何事情。当新消息出现时,我想要作为输出;消息文本通过简单的弹出窗口显示给用户。需要帮助..谢谢… 问题答案: 试试这个对我有用的东西,您将看到祝酒词和收到的消息

  • 我需要订阅实时消息文件,这些消息文件可能是在pub-sub模型上从客户端已有的MQ设置发布的。当我订阅MQ的主题以接收消息文件时,我是否应该使用Kafka只获取文件,然后处理它们并使用任何更好的API(如Python)存储在我的文件系统中?我期待一个如下的设置:- 客户的MQ---->Kafka Setup<-----API接收和处理(Python)---->文件系统 当文件发布到Kafka时,我

  • 我正在开发一个应用程序,它通过Firebase消息传递获取数据,将其插入SQLite并在应用程序中显示信息(如果它是可见的) 这是我的SQLIte帮助器类中的相关调用 偶尔我会得到这个错误,通常是在同时收到多个消息时: “Exception java.lang.IllegalStateException:无法执行此操作,因为连接池已关闭。”

  • 我听说亚马逊使用HTTP作为其基于微服务的架构。另一种方法是使用RabbitMQ或Solace Systems这样的消息传递系统。我个人对基于Solace的微服务架构有经验,但从未使用过REST。 知道像Amazon、Netflix、UK Gov等各种大联盟实现使用什么吗? 其他方面是,在微服务中,还需要以下东西(除了其他东西): *模式匹配 *异步消息传递。接收系统可能已关闭 *发布订阅 *缓存