Android PhoneStateListener和服务

Android PhoneStateListener和服务,android,Android,我有一个phonestatelistener: 我如何在这里开始服务? 我试过: 它怎么会对我不起作用 private PhoneStateListener mPhoneListener = new PhoneStateListener() { @SuppressLint("SdCardPath") public void onCallStateChanged(int state, String incomingNumber) { t

我有一个phonestatelistener: 我如何在这里开始服务? 我试过:

它怎么会对我不起作用

private PhoneStateListener mPhoneListener = new PhoneStateListener() {

          @SuppressLint("SdCardPath")
        public void onCallStateChanged(int state, String incomingNumber) {

           try {
            switch (state) {
            case TelephonyManager.CALL_STATE_RINGING:
                //i want to start service
                startService(new Intent(this, TTS.class));
当你打电话的时候

startService(new Intent(this, TTS.class));
newintent()
的第一个参数必须是
上下文。通常从
服务
活动
调用,这两种活动都扩展了
上下文

在您的例子中,您的
参数是不扩展
上下文的类
PhoneStateListener
。我假设这是一个私有的内部类。您需要像这样指定外部类:

startService(new Intent(MyActivity.this, TTS.class));
如果您的外部类是一个活动,那么
MyActivity
应该是该活动的名称。如果外部类是服务,那么
MyActivity
应该是服务的名称。

当您调用

startService(new Intent(this, TTS.class));
newintent()
的第一个参数必须是
上下文。通常从
服务
活动
调用,这两种活动都扩展了
上下文

在您的例子中,您的
参数是不扩展
上下文的类
PhoneStateListener
。我假设这是一个私有的内部类。您需要像这样指定外部类:

startService(new Intent(MyActivity.this, TTS.class));

如果您的外部类是一个活动,那么
MyActivity
应该是该活动的名称。如果外部类是一个服务,那么
MyActivity
应该是服务的名称。

锁定:当我写上面写的行时,我得到了这个错误:“构造函数意图(新的PhoneStateListener(){},类)未定义”,@Pasha,从你的链接中,我不明白我应该做什么才能启动服务?请检查下面的问题锁:我在写上面写的行时出现了这个错误:“构造函数意图(新PhoneStateListener(){},类)未定义”,@Pasha,我不明白从你的链接,我应该做什么,以启动服务?请检查问题