SipDemo的的onReceive()SipAudioCall给予的NullPointerException [英] SipDemo's onReceive() SipAudioCall NullPointerException give

查看:418
本文介绍了SipDemo的的onReceive()SipAudioCall给予的NullPointerException的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我创建来电由 SipDemo Receive活动。我的活动有两个按钮接受呼叫和拒绝接听来电。当我拿到来电,然后我自己的活动是开放的,如
 ---->来电类----> 的onReceive() ---->去我的电话pick活动。
这里是这是接受和拒绝来电上述两个按钮等。但是,当我打的接受电话。 A 空指针异常生成。它是SipAudiocall传入;

I am Creating incoming call Receive activity by SipDemo . My activity has two button "accept call" and "reject call". When i got incoming call then my own activity is open such as ----> incoming call class ----> onReceive()----> go to my call pick activity. here is this above two button such as accept and reject call. but when i hit on "accept call" . A Nullpointer Exception generate. it is on SipAudiocall incoming;

这是新来的学员: -

this is incoming class:-

static SipAudioCall incomingCall = null;
@Override
public void onReceive(final Context context, Intent intent) {

 Intent startActivity = new Intent(); 
     startActivity.setClass(context, Mycall.class); 
      startActivity.setAction(IncomingCallReceiver.class.getName()); 
      startActivity.setFlags( 
              Intent.FLAG_ACTIVITY_NEW_TASK 
              | Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS); 
      context.startActivity(startActivity);   


}

public static void acceptCall() {
    incomingCall.sendDtmf(9);
    try {
        incomingCall.sendDtmf(9);
        incomingCall.answerCall(200);
        //wtActivity.gototimer("i");
    } catch (SipException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

   // wtActivity.gototimer("i");
}


public void rejectCaLL() {
    try {
        incomingCall.endCall();
    } catch (SipException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
}

这是我的电话pick活动类: -

This is my call pick activity class:-

public class Mycall extends Activity {

Button acct;
 IncomingCallReceiver incomingCallReceiver;
@Override
public void onCreate(Bundle savedInstanceState) {
    // Note that none of the preferences are actually defined here.
    // They're all in the XML file res/xml/preferences.xml.
    super.onCreate(savedInstanceState);
    setContentView(R.layout.my);

    acct = (Button) findViewById(R.id.button1);
    acct.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            IncomingCallReceiver.acceptCall();

        }
    });



}

}

这是AndroidManifest.xml中: -

This is AndroidManifest.xml :-

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="com.example.android.sip">
<application android:icon="@drawable/icon" android:label="SipDemo">
     <service android:name=".MService">

     </service>
  <activity android:name=".WalkieTalkieActivity"
      android:configChanges="orientation|keyboardHidden">
        <intent-filter>
            <action android:name="android.intent.action.MAIN"/>
            <category android:name="android.intent.category.LAUNCHER"/>
        </intent-filter>
    </activity>
    <activity android:name=".SipSettings" android:label="set_preferences"/>


    <receiver android:name=".IncomingCallReceiver"   android:enabled="true" android:label="Call Receiver">
        <intent-filter>
       <action android:name="android.SipDemo.INCOMING_CALL" />
    </intent-filter>
      </receiver>
          <activity android:name=".Mycall"
               >
              </activity> 
           <activity android:name=".Myclass"/> 
</application>
<uses-sdk android:minSdkVersion="9" />
<uses-permission android:name="android.permission.USE_SIP" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>

<uses-feature android:name="android.hardware.sip.voip" android:required="true" />
<uses-feature android:name="android.hardware.wifi" android:required="true" />
<uses-feature android:name="android.hardware.microphone" android:required="true" />

请高手帮帮我。我参与了这个问题,因为1个月。

Please Expert Help me. I has involved this problem since 1 month.

我等待你的答复。

感谢您

推荐答案

Becouse您

IncomingCallReceiver incomingCallReceiver;

在调用它的时间空...
如果您创建一个静态类,你必须小心可能引发它的创造者法。

is null at time of calling it... If you create a static class you must take care to initiate it maybe in creator-method.

创建一个抽象类:

public abstract class IncomingCallReceiver

和改变你的方法公共静态最后

这篇关于SipDemo的的onReceive()SipAudioCall给予的NullPointerException的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆