2

トークンの構文エラー、ConstructorHeaderName が代わりに期待される、およびトークンの構文エラー "(", < 期待されるという 2 つのエラーが表示されます

行で:

mTM.listen(callListener, PhoneStateListener.LISTEN_CALL_STATE);

...助言がありますか?

public class DataCountService extends Service {
    String text = "USR;1";
    String ERROR = Constants.PREFS_NAME;
    private Timer timer = new Timer();
    private long period;
    private long delay_interval;




    EndCallListener callListener = new EndCallListener();
    TelephonyManager mTM = (TelephonyManager)this.getSystemService(Context.TELEPHONY_SERVICE);
    mTM.listen(callListener, PhoneStateListener.LISTEN_CALL_STATE);

    private class EndCallListener extends PhoneStateListener {
        @Override
        public void onCallStateChanged(int state, String incomingNumber) {
            if(TelephonyManager.CALL_STATE_RINGING == state) {
              //  Log.i(LOG_TAG, "RINGING, number: " + incomingNumber);
            }
            if(TelephonyManager.CALL_STATE_OFFHOOK == state) {
                //wait for phone to go offhook (probably set a boolean flag) so you know your app initiated the call.
              //  Log.i(LOG_TAG, "OFFHOOK");
            }
            if(TelephonyManager.CALL_STATE_IDLE == state) {
                //when this state occurs, and your flag is set, restart your app
              //  Log.i(LOG_TAG, "IDLE");
            }
        }
    }
4

2 に答える 2

4

この線

mTM.listen(callListener, PhoneStateListener.LISTEN_CALL_STATE);

どのメソッドにも含まれていません。これをコンストラクター(これが必要なようです) または通常のメソッドに配置する必要があります。

于 2013-06-27T20:52:06.853 に答える
2
mTM.listen(callListener, PhoneStateListener.LISTEN_CALL_STATE);

クラス内に直接ではなく、メソッド内にある必要があります。実装例については、この質問を参照してください。

于 2013-06-27T20:52:28.047 に答える