2

バックグラウンドで待機しているアプリケーションを使用して新しいアクティビティを開始するのは難しいと思います。これが私のコードです:

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();
    }
}

App1 がフォアグラウンドにある場合、正常に動作します。App1 がバックグラウンド (moveToBack) にある場合、「TEST」と表示されますが、App2 は起動しません (私の画面には「TEST 2」はありません。

みんな、手伝ってくれる?

4

1 に答える 1

1

旗が必要ですintent.addFlag(Intent.FLAG_ACTIVITY_NEW_TASK);

于 2012-08-03T19:14:12.167 に答える