Android 从服务向侦听器传递字符串

Android 从服务向侦听器传递字符串,android,string,listener,Android,String,Listener,我目前有一项服务。此服务(激活时)启动PhoneCallListener(由我覆盖),然后基本上监听电话。 在访问我的服务之前,我有一个字符串传递给我的服务。 这一切都很好,但我怎样才能把我的弦传递给我的听众呢?我无法创建任何上下文或任何内容。我的代码: @Override public int onStartCommand(Intent intent, int flags, int startId) { Toast.makeText(this, "Service Sta

我目前有一项服务。此服务(激活时)启动PhoneCallListener(由我覆盖),然后基本上监听电话。 在访问我的服务之前,我有一个字符串传递给我的服务。 这一切都很好,但我怎样才能把我的弦传递给我的听众呢?我无法创建任何上下文或任何内容。我的代码:

@Override
    public int onStartCommand(Intent intent, int flags, int startId) {
        Toast.makeText(this, "Service Started", Toast.LENGTH_SHORT).show();
        this.isActive = true;
        this.phoneNum = intent.getStringExtra("num");
        Toast.makeText(this, phoneNum, Toast.LENGTH_LONG).show();
        otherFunc();
        return mStartMode;
    }
    private void otherFunc() {
        PhoneCallListener phoneCallListener = new PhoneCallListener();
        TelephonyManager telephonyManager = (TelephonyManager)this.getSystemService(Context.TELEPHONY_SERVICE);
        telephonyManager.listen(phoneCallListener, PhoneStateListener.LISTEN_CALL_STATE);
    }




class PhoneCallListener extends PhoneStateListener
{
    private boolean isPhoneCalling = false;
    String phoneNumToIgnore = "";

    @Override
    public void onCallStateChanged(int state, String incomingNumber)
    {
        if (TelephonyManager.CALL_STATE_RINGING == state) {
            isPhoneCalling = true;

            /*THIS IS WHERE I WANT THE EXTRA STRING*/

        }
    }

}

如果我理解正确,看起来您正试图从onStartCommand()将要忽略的电话号码传递给侦听器。为什么不将该号码传递给otherFunc(string num),然后在Phonelistener上创建一个构造函数,用它初始化电话侦听器?

如果我理解正确,看起来您正试图从onStartCommand()将要忽略的电话号码传递给侦听器。为什么不将该数字传递给otherFunc(string num),然后在Phonelistener上创建一个构造函数来初始化电话侦听器呢?

我想这是我以前从未见过的一个时刻。谢谢有一刻我想我以前怎么没见过这个。谢谢