私はSIPアプリケーションを作成しています.1つのことを除いて、ほとんどすべてが機能しています。SIP コールが発生したときにアクティビティを起動できません。
私は、着信コールなどの処理を処理する「電話」サービスを開始する SIP ライブラリを使用しています。「電話」のインスタンスを作成するときに、何が必要かを詳しく説明するリスナーを登録します。着信コールを処理するために、「OnIncommingCall」リスナーを登録します。
その時点でアプリが現在開いていない場合は、アプリを起動します。だから私のリスナーは:
thisPhone.setIncomingCallListener(new OnIncomingCallListener()
{
public void OnIncomingCall(String remoteContact, int accountId)
{
if(MainActivity.this.getIsOpen())
{
MainActivity.this.setIsCallIncomming(true);
MainActivity.this.setCurrentCaller(remoteContact);
MainActivity.this.setMainUIEles();
}
else
{
Intent i = new Intent(getApplicationContext(), MainActivity.class);
i.putExtra("isCallIncomming", true);
i.putExtra("currentCaller", remoteContact);
i.putExtra("isRegistered", true);
i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(i);
}
}
}); //incoming call listener
ただし、電話がかかってくると鳴りますが、アプリは開きませんが、電話がまだ鳴っている間にランチャーからアプリを開くと、アプリが開き、電話がかかっていることがわかります。
リスナーを定義したアクティビティを開始しようとしているために問題が発生していますか?
あらゆる種類のフラグと組み合わせ (SINGLE_TOP など) を試しましたが、動作しません。
どんな助けでも大歓迎です!
DJウードレン