2011-08-15 3 views
13

애플리케이션을 설치 한 후에 한 번 코드를 실행하고 싶습니다. 코드를 실행 한 후에는 업그레이드를 위해 특정 코드를 다시 호출하면 안됩니다.
A :Android 기기에 애플리케이션을 설치 한 후 코드를 한 번만 실행하십시오.

+3

는 그냥 설치의 일부가 될 수 없습니다할까요? – Woot4Moo

+0

@ Woot4Moo - 설치 프로그램은 무엇을 의미합니까? 나는 그것에 익숙하지 않다. (안드로이드) – MByD

+0

나는 플랫폼에서 개발하지 않았다. 나는 구글이 설치자를위한 확장 가능한 프레임 워크를 만들었을 것이라고 생각했다. installbuilder 또는 installshield와 같습니다. – Woot4Moo

답변

35
  1. 확인하면 부울 X 공유 환경 설정
  2. 그렇지 않은 경우에 True입니다. 특수 코드
    b를 실행하십시오. b. 공유 환경 설정
  3. 예를 들어

에 참으로 x를 저장 : 나는 과거에 공유 기본 설정을 사용했습니다

SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this); 
if(!prefs.getBoolean("firstTime", false)) { 
    // run your one time code 
    SharedPreferences.Editor editor = prefs.edit(); 
    editor.putBoolean("firstTime", true); 
    editor.commit(); 
} 
+1

@Downvoter - 의견을 주시면 고맙겠습니다 – MByD

+0

그것은 항상 나를 위해 if 문을 건너 뜁니다. 어떻게 실행 했습니까? 너와 나에게 그것을 나눠 주길 바래 ... 감사합니다 ... – medampudi

+0

@medampudi - 나는 실수를 저질렀다. 조건은 반대가되어야한다. 편집을 참조하십시오. – MByD

4

,하지만 당신은 또한 볼 수 있었다 온 인스톨 무언가를하고자하는 경우 설치 리시버. MyInstallReciever 구현 BroadcastReciever

<receiver 
    android:name="com.MyInstallReciever" 
    android:exported="true"> 
    <intent-filter> 
     <action 
      android:name="com.android.vending.INSTALL_REFERRER" /> 
    </intent-filter> 
</receiver> 
+0

"com.android.vending.INSTALL_REFERRER "안전한 방법이 아닙니다. 앱을 설치할 때 응용 프로그램이 중지 상태에 있기 때문에 어쩌면 설명 할 수 없지만"INSTALL_REFERRER "에 대한 약간의 연구로 알 수 있습니다. – David

0

사용이 간단한 코드

if (getPreferences(MODE_PRIVATE).getBoolean("is_first_run", true)) { 
     /* 
     * your code here 
     */ 
     getPreferences(MODE_PRIVATE).edit().putBoolean("is_first_run", false).commit(); 
    } 
관련 문제