2011-09-13 36 views
1

電話状態がアイドルからアイドル状態になると、アクティビティを呼び出す必要があります。しかし、それはと言うコンストラクタインテント(MyPhoneStateListener、クラス)は定義されていません。どのように活動を呼び出すことができます。PhoneStateListenerでアクティビティを呼び出す必要があります

public class MyPhoneStateListener extends PhoneStateListener { 
     //static String org=""; 

     public void onCallStateChanged(int state,String incomingNumber){ 
       switch(state){ 
       case TelephonyManager.CALL_STATE_IDLE: 
        Log.d("DEBUG", "IDLE"); 
       // MissedCall ms=new MissedCall(); 

       Intent missintent=new Intent(this,MissedCall.class); 
       startActivity(missintent); 

       break; 
       case TelephonyManager.CALL_STATE_OFFHOOK: 
        Log.d("DEBUG", "OFFHOOK"); 
       break; 
       case TelephonyManager.CALL_STATE_RINGING: 
        Log.d("DEBUG", "RINGING"); 
       break; 
       } 
       } 
    } 

答えて

1

あなたはこのような活動呼び出すことができます。私は(Manikandanと)同じ問題を持っている

Intent missintent= new Intent(context, MissedCall.class); 
missintent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
startActivity(missintent); 
+0

ありがとうございました。しかし、それは "メソッドstartActivity(インテント)は、タイプMyPhoneStateListener"で定義されていないと言います。 – Manikandan

+0

MyPhoneStateListenerクラスをサービスに配置します。http://lovingandroid.blogspot.com/2011/07/intercept-call-activity.html –

+0

サービスにMyPhoneStateListenerクラスを追加しましたが、同じエラーが発生しました。 – Manikandan

0

、EclipseはメソッドstartActivity(意図)はタイプのために定義されていない」ということを教えをMyPhoneStateListener "はインテントを別の方法で起動することは可能ですか?

+0

これは動作します...... Intent missintent = new Intent(context、MissedCall.class); missintent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(missintent); – Manikandan

0

MyPhoneStateListenerクラスはアクティビティクラス内で定義する必要があります。それ以外の場合は、アクティビティを起動するコンテキストがありません。

関連する問題