广播接收者的活动或服务?

时间:2015-06-20 11:47:20

标签: android broadcastreceiver

我想创建一个在后台运行的Android应用程序,并检查手机中的新短信。我使用从活动调用的服务来做到这一点。这就是代码。

服务

public class SMSChecker extends Service {

    private SMSReceiver mSMSreceiver;
    private IntentFilter mIntentFilter;

    @Override
    public void onCreate(){
        Toast.makeText(this, "Check Service Created", Toast.LENGTH_SHORT).show();       
        mSMSreceiver = new SMSReceiver();
        mIntentFilter = new IntentFilter();
        mIntentFilter.addAction("android.provider.Telephony.SMS_RECEIVED");
        registerReceiver(mSMSreceiver, mIntentFilter);
    }

    @Override
    public void onDestroy() {
        super.onDestroy();
        Toast.makeText(this, "Check Service Destroyed", Toast.LENGTH_LONG).show();
        unregisterReceiver(mSMSreceiver);
    }
}

我认为代码对我想做的事情是正确的。

服务内部我正在调用一个BroadcastReceiver,它给我邮件的正文和发件人的号码。 (代码有效,但我不确定我是否正确使用BroadcastReceiver。)

现在,我想通过GPS_PROVIDER了解手机的位置并将其发送到手机号码,但我无法通过BroadcastReceiver进行操作。现在我的问题是,从这一点开始我能做些什么?我应该创建另一个从BroadCastReceiver调用的服务还是创建另一个Activity?问题是我不想要这个活动的布局。我希望一切都在后台。

0 个答案:

没有答案