アプリを開発中で、アプリ内で電話をかけられましたが、終了したら情報を保存してポップアップしてアプリを再開します。Androidの起動方法電話の終了後
私はコールをダイヤルして、別のインスタンスに出てくるが、一緒に置くことができないポップアップを得ることができました。この質問は今年の3月に回答されましたが、他の誰かがより良いアイデアを思いついているかどうかを見たいと思っていました。ありがとうございました。
アプリを開発中で、アプリ内で電話をかけられましたが、終了したら情報を保存してポップアップしてアプリを再開します。Androidの起動方法電話の終了後
私はコールをダイヤルして、別のインスタンスに出てくるが、一緒に置くことができないポップアップを得ることができました。この質問は今年の3月に回答されましたが、他の誰かがより良いアイデアを思いついているかどうかを見たいと思っていました。ありがとうございました。
アクティビティライフサイクルダイアグラムを見ると、電話がかかってくると、アプリケーションコールonPause()
メソッドが呼び出されます。私が考えることができるのは、SharedPreferences
スレッドからデータを書き込んでデータを保存することです。これは、コールリスナーまたはonPause()
メソッドでアプリケーションがユーザーに表示されなくなっても実行されます。しかし、より現実的なアプローチはonRestoreInstanceState()
メソッドで最近復元されるすべての関連データを入れてonSaveInstanceState()
メソッドを使用することです。
続きを読むここで彼らがどのように動作するか:に行くときのコールが、行われた場合は、マークするいくつかのflags
を使用することができますPhoneStateListener
クラスで
http://developer.android.com/reference/android/app/Activity.html#onRestoreInstanceState(android.os.Bundle) http://developer.android.com/reference/android/app/Activity.html#onSaveInstanceState(android.os.Bundle) http://developer.android.com/reference/android/telephony/PhoneStateListener.html
CALL_STATE_RINGING
の状態を確認してから、CALL_STATE_IDLE
に電話が行われている間に常にIDLE状態が発生しているためにコールが行われたかどうかを確認します何か、しかしフラグがある場合は、if(flag)
何かをしてフラグを変更することができるので、リスナーが再びCALL_STATE_IDLE
に入るたびに、あなたのフラグは反転されます。ちょうどアイデア。
編集:はあなたの活動/サービス・クラスで内部クラスとしてPhoneStateListenerクラスを追加し、TelephonyManager
を使用して携帯電話の状態リスナーを登録します。私はあなたの道を見つけることを願っています
public class MyClassActivity extends Activity
{
....
//set here your call listener here
}
protected class PhoneState extends PhoneStateListener{
private boolean mCall=false;
@Override
public void onCallStateChanged(int state, String incomingNumber) {
switch(state)
{
case TelephonyManager.CALL_STATE_RINGING:
mCall=true; //fire the flag that there is call ongoing
break;
case TelephonyManager.CALL_STATE_IDLE:
if(mCall)
{
mCall=false; //Reverting the flag, indicating you are aware that there was call
// Here do the rest of your operation you want
}
break;
default:
}
super.onCallStateChanged(state, incomingNumber);
}
}
これはとても役に立ちます!私はこのコンセプトで溢れています。あなたは私が実際にこの例を見つけることができるか分からないだろうか?私はこの全体のコンセプトの中で私の頭を包み込むことを試みています。ありがとう、ニコラ! – smithseanp16
電話状態リスナーについてのアイデアを追加しました。あなたが私を望むなら、私はSharedPrefs、onSaveInstnc()、onRstrInstnc()のためにあなたのために書きたいものを試してみます...しかし、これらのいくつかについてはかなりの例があると思います。乾杯。 –
これは完璧な信じられないほどです! – smithseanp16