0

初めて作成した同じアクティビティを再度開始する方法。INTETを使って活動を再開しました。しかし、ユーザーがモバイルでホームボタンを押すと、この意図は機能しません。バックグラウンドで最初に作成されたアクティビティを開始する別の方法はありますか。Plsはこれを助けてくれます。これについてあなたにとても感謝します。

private void sendNextMessage(){
    Log.i("Is there are sms sendNextMessage", thereAreSmsToSend()+"");
    if(thereAreSmsToSend()){
        Log.i("sendNextMessage mMessageSentParts", mMessageSentParts+"");
        Log.i("sendNextMessage mMessageSentTotalParts", mMessageSentTotalParts+"");
        Log.i("sendNextMessage mMessageSentCount", mMessageSentCount+"");
        Log.i("sendNextMessage Phone list", list_phone.get(mMessageSentCount)+"");
        sendSMS(list_phone.get(mMessageSentCount),list_MESSAGE_BODY.get(mMessageSentCount));
    }else{
        Toast.makeText(getBaseContext(), "All SMS have been sent",
                            Toast.LENGTH_SHORT).show();
        new AddNewCategory().execute();
        h.removeCallbacks(r);
        h.postDelayed(new Runnable() {
            public void run() {
                // I used this code to start activity again but if user press home button this intent not works .
                Intent i = new Intent();
                i.setClass(MainActivity.this, MainActivity.class);
                i.setFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
                startActivity(i);
                Log.e("Time", "60000 intent");
                h.removeCallbacks(r);
            }
        }, 30000);
        h.removeCallbacks(r);
        h.removeCallbacks(r);          
    }
}
4

2 に答える 2

0

サービスとブロードキャスト レシーバーを以下のように記述します。

このアクティビティは、再起動時に同様にアクティビティを開始します。アクティビティが呼び出されるイベントを書き込むことができます。

public class BootStartUpReciever extends BroadcastReceiver {

       @Override
       public void onReceive(Context context, Intent intent) {
              // TODO: This method is called when the BroadcastReceiver is receiving

              // Start Service On Boot Start Up
              Intent service = new Intent(context, TestService.class);
              context.startService(service);

              //Start App On Boot Start Up
              Intent App = new Intent(context, MainActivity.class);
              App.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
              context.startActivity(App);


       }
}
于 2014-09-10T05:18:19.550 に答える