2014-01-13 2 views
0

У меня возникла следующая проблема: Приложение должно знать, было ли запущено другое установленное приложение по крайней мере один раз раньше. Я думал о создании файла на sd с первым приложением. И второе приложение знает, что первый был запущен по крайней мере один раз раньше. Есть ли лучший способ сделать это?Узнайте, было ли приложение запущено до

ответ

0

Использование sharedpreferences:

на первое приложение, которые должны быть запущен по крайней мере один раз: (О создании метода)

//This will store a string with a value "yessir" when the app is launched. You can tweak it a bit by adding something like if !launched string exist skip the creation to avoid creating the string at every launch. 

SharedPreferences pref = getSharedPreferences("my_prefs", Context.MODE_WORLD_READABLE); 
SharedPreferences.Editor editor = prefs.edit(); 
editor.putString("launched", "yessir"); 
editor.commit(); 

На втором приложении:

 try { 
      Context myContext = createPackageContext("package_name_of_the_first_app", Context.CONTEXT_IGNORE_SECURITY); 
      SharedPreferences pref = myContext.getSharedPreferences(
        "my_prefs", Context.MODE_PRIVATE); 
      String isItLaunched = pref.getString("launched", ""); 
      if (isItLaunched.equals("yessir") { 
       // The first app got launched so do something 
      } else { 
       // the first app was not launched so do something else 
      }   
     } catch (NameNotFoundException e) { 
     } 
+0

БЛАГОДАРНОСТИ:) (я бы поднял его, если бы у меня было достаточно репутации) – Eric

+0

рад, что это поможет вам :) – iGio90

Смежные вопросы