每次发送短信时,如何在android上启动服务

时间:2014-11-25 15:05:17

标签: android android-service android-broadcast

我正在使用以下库来读取从我的默认应用程序发送的短信。我遇到的问题是,当应用程序关闭时,服务无法保存我发送的消息。有人知道我的设备发送消息后如何启动服务吗?

https://github.com/tuenti/SmsRadar

更新1: BroadcastReceiver类

public class Broadcast_Receiver extends BroadcastReceiver {


    @Override
    public void onReceive(Context context, Intent intent) {

        if(intent.getAction().equals("android.provider.Telephony.SMS_SENT")){
            Intent service = new Intent(context, SMSService.class);
            context.startService(service);
            Log.d("Broadcast_Receiver", "message sent");
        }
        else if ((intent.getAction().equals("android.provider.Telephony.SMS_RECEIVED")))
        {
            Log.d("Broadcast_Receiver", "message received");
        }

    }
}

清单

<receiver android:name=".APPServices.SMS.Broadcast_Receiver" android:enabled="true">
    <intent-filter>
        <action android:name="android.provider.Telephony.SMS_SENT"/>
    </intent-filter>
</receiver>

谢谢

1 个答案:

答案 0 :(得分:0)

您需要使用&#34;广播接收器&#34;那个

顾名思义:广播接收器等待事件发生,当事件发生时,它会收到该事件广播的信息。

这是一个很棒的教程,它描述了如何逐步实现它(在这里输入它有点长)

http://androidexample.com/Incomming_SMS_Broadcast_Receiver_-_Android_Example/index.php?view=article_discription&aid=62&aaid=87