2012-05-22 46 views

回答

0

你不能那樣做;例如,這樣的特徵將成爲讓木馬傳播的好方法。

只需檢查您的程序的第一次運行,並在那裏進行初始化。

+0

感謝您的回答。但是我想知道是否有這樣做,以及如何得到它? –

1

你絕對不能這樣做。這會引發各種安全問題。正如Ken Y-N在他的回答中所說的,最好的辦法是首先檢測你的應用程序是否被打開,然後在那裏做一些事情。

這裏有一個活動類來做到這一點:

public class StartupChoiceActivity extends Activity { 
    private static final String TAG = StartupChoiceActivity.class.getSimpleName(); 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

     SharedPreferences mPrefs = getSharedPreferences("prefs", Context.MODE_PRIVATE); 

     if(!mPrefs.getBoolean("has_started_before", false)) { 
      // Do what ever you want to do the first time the app is run 

     } else { 
      //Remember our choice for next time 
      mPrefs.edit().putBoolean("has_started_before", true).commit(); 
      Log.i(TAG, "We've already started the app at least once"); 
     } 

     //Do what ever we want to do on a normal startup. This is pretty much always mean starting a new activity 
     startActivity(new Intent(this, MyNormalFirstActivity.class); 
     finish(); 
    } 
} 

你需要做的唯一的另一件事是確保這一活動被設置爲在AndroidManifest.xml你的「啓動」活動。您可以通過將此代碼放入您的應用程序標籤中來實現此目的:

<activity android:name=".StartupChoiceActivity"> 
    <intent-filter> 
     <action android:name="android.intent.action.MAIN" /> 
     <category android:name="android.intent.category.LAUNCHER" /> 
    </intent-filter> 
</activity>