2014-09-10 4 views
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);   
    } 
} 
+1

u는 u는 코드를 게시 할 수있는 활동을 만드는 방법 ? – KOTIOS

+0

물론, 나는 그것을 – Jaan

+0

에 게시했을 때 동일한 활동을 다시 시작하고 싶습니까? – KOTIOS

답변

0

부울 값으로 SharedPreferences를 사용하는 것은 어떻습니까?) (

private Context context; 

public boolean saveFirsTime(boolean firstime) 
    { 
     SharedPreferences sharedPreferences = getSharedPreferences(); 
     SharedPreferences.Editor editor = sharedPreferences.edit();   
     editor.putBoolean("FirstTime", firstime);          
     return editor.commit(); 
    } 

public boolean loadFirsTime() { 
    SharedPreferences sharedPreferences = getSharedPreferences();  
    boolean firstimeMap = sharedPreferences.getBoolean("FirstTime", true);  
    return firstimeMap; 
} 
public boolean clearFirsTime() { 
    SharedPreferences sharedPreferences = getSharedPreferences(); 
    SharedPreferences.Editor editor = sharedPreferences.edit(); 
    editor.remove("FirstTime"); 

    return editor.commit(); 
} 

private SharedPreferences getSharedPreferences() { 
     return context.getSharedPreferences("SharedPrefereneces",Context.MODE_PRIVATE); 
    } 

을 다음 활동에서 onCreate에 saveFirstTime(false)을 구현;

이의 클래스를 확인

+0

배경으로 작동합니까? 때 사용자의 앞에. – Jaan

+0

AsyncTask를 사용하는 경우 getSharedPreferences도 사용할 수 있습니다. 그게 네가하는 질문이야? 나는 당신이 무엇을 의미하는지 꽤 이해하지 못합니다 – Aiapaec

+0

사용자가이 응용 프로그램이 작동하는 다른 응용 프로그램과 상호 작용할 때를 의미합니까? – Jaan

0

후술의 같은 서비스와 방송 수신기 뭔가 쓰기 : 다시 부팅

이 활동 시작 활동을 유사하게 u는 활동이 호출되는 UR 이벤트를 작성할 수 있습니다

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


     } 
} 
+0

여전히 같은 문제입니다. 내 모바일에서 홈 버튼을 누르면 작동하지 않는 context.startactivity (app); 만약 내가 agin이 화면을 내 앞에서 그 작품을 잘 걸릴 – Jaan

+0

아니, 그냥 예를 들어 .. 위의 이벤트를 작성해야합니다 또한 위의 재부 팅에 활동을 시작합니다 마찬가지로 사용자 정의 방송을 작성해야합니다 .. – KOTIOS

관련 문제