2012-07-30 3 views
2

배경에 머물러있는 신청서를 사용하여 새로운 활동을 시작하기가 어렵습니다. 앱 1 전경에있을 때활동이 뒤로 시작 활동으로 이동했습니다.

public class App1 extends Activity{ 

    public void onCreate(Bundle savedInstanceState){ 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 

     registerReceiver(batteryInfoReceiver, new IntentFilter(Intent.ACTION_BATTERY_CHANGED)); 
    } 

    private BroadcastReceiver batteryInfoReceiver = new BroadcastReceiver() { 
     @Override 
     public void onReceive(Context c, Intent i) { 
      Toast.makeText(getApplicationContext(), "TEST", Toast.LENGTH_LONG).show(); 
      Intent intent = new Intent("App2.intent.action.Launch"); 
      intent.putExtra("startedByApp", true); 
      startActivity(intent); 
     } 
    } 

    @Override 
    public void onBackPressed() { 
     moveTaskToBack(true); 
    } 
} 


public class App2 extends Activity{ 

    public void onCreate(Bundle savedInstanceState){ 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 

     Toast.makeText(getApplicationContext(), "TEST 2", Toast.LENGTH_LONG).show(); 
    } 
} 

가 잘 작동 : 다음은 내 코드입니다. 앱 1가 (moveToBack) 배경에가 "TEST"를 보여 주지만,이 앱 2를 시작하지 않는 경우 는 (내 화면에는 "TEST 2"가 없다.

얘들 아, 당신이 나를 도와 드릴까요?

+0

토스트 대신 Log.d()를 사용해보십시오. 토스트는 일반적으로 디버깅 도구로서 좋지 않습니다. 특히 getApplicationContext()를 사용할 때 특히 그렇습니다. – mfrankli

+0

은 플래그'intent.addFlag (Intent.FLAG_ACTIVITY_NEW_TASK);' – Sunny

+0

@mfrankli : 그것은 초보자 프로그래머이므로 사용하고 싶습니다. – user1411291

답변

1

플래그가 필요합니다 intent.addFlag(Intent.FLAG_ACTIVITY_NEW_TASK);

관련 문제