2016-07-09 6 views
0

1.Iは、Appフラグメントページボタンがファインその作品をクリックしたから電話を作りたいです。メイクは、Androidアプリの

2.断片化からの呼び出しページ.Itsを再起動する。

3.Iは、アプリケーションを再起動せずに、同じフラグメントページを開きthis.Just必要性を停止したい

MYコード:

private class MyPhoneListener extends PhoneStateListener 
{ 

    private boolean onCall = false; 

    @Override 
    public void onCallStateChanged(int state, String incomingNumber) 
    { 

     switch (state) 
     { 
      case TelephonyManager.CALL_STATE_RINGING: 
       // phone ringing... 
       //Toast.makeText(FindStores_tabviewonclick_showpage.this, incomingNumber + " calls you", Toast.LENGTH_SHORT).show(); 
       break; 

      case TelephonyManager.CALL_STATE_OFFHOOK: 
       // one call exists that is dialing, active, or on hold 
       //Toast.makeText(FindStores_tabviewonclick_showpage.this, "on call...", Toast.LENGTH_SHORT).show(); 
       //because user answers the incoming call 
       onCall = true; 
       break; 

      case TelephonyManager.CALL_STATE_IDLE: 
       // in initialization of the class and at the end of phone call 

       // detect flag from CALL_STATE_OFFHOOK 
       if (onCall == true) 
       { 
        //Toast.makeText(Find_stores.this, "restart app after call", Toast.LENGTH_LONG).show(); 

        Log.i("AFTER PHONE Call", "restart app"); 
        // restart our application 
        Intent restart = getActivity().getPackageManager().getLaunchIntentForPackage(getActivity().getPackageName()); 
        restart.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
        //.restart.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK); 
        startActivity(restart); 



        onCall = false; 
       } 
       break; 
      default: 
       break; 
     } 

    } 
} 

答えて

1

変更フラグTelephonyManager.CALL_STATE_IDLEでの意図について:

Intent restart = getActivity().getPackageManager().getLaunchIntentForPackage(getActivity().getPackageName()); 
       restart.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT); 

       startActivity(restart); 
0

使用この

getActivity().getFragmentManager().beginTransaction().remove(YourCurrentFragment.this);