2016-02-03 2 views
2

сейчас я разрабатываю приложение для Android, и мне нужно время работы!
от onCreate() до onPause() или onStop().Измерение активности активности андроидов (оставление активности на экране)

Я знаю, что нужно использовать System.currentTimeMillis!

Но я хочу только функцию API или SDK для этого.

Может быть, когда задача должна быть изменена onPause() или onStop(), у android есть информация о времени активности! (Или переадресация).

поэтому я использую один код или функцию, я измерит к деятельности время работы! (Оставаясь активность на экране!)

так, что API или функция есть мера активности время работы?

ответ

0

Вы можете использовать аналитику Google или любой аналитик третьей стороны (например, Flurry, InMobi и т. Д.) Для получения времени работы. Используя это, вы можете отслеживать состояние активности пользователя и в основном использовать функцию внутри приложения.

Для интеграции с Google Analytics обратитесь по следующей ссылке.

http://developer.android.com/distribute/analyze/start.html

для интеграции Flurry аналитики, пожалуйста, обратитесь к следующей ссылке.

https://developer.yahoo.com/flurry/docs/analytics/gettingstarted/android/

Google Analytics и Flurry Analytics обеспечивают отслеживание событий функции для отслеживания активности времени работы и использования.

0

Вы можете сделать что-то вроде этого ниже, вычислить общее время переднего плана, вычислив разницу между паузой и временем возобновления.

public class MainActivity extends Activity { 

    long pauseTime = 0, resumeTime = 0; 

    SharedPreferences preference; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     preference = getSharedPreferences("TimeWrap", Context.MODE_PRIVATE); 

    } 

    @Override 
    protected void onPause() { 
     super.onPause(); 

     pauseTime = System.currentTimeMillis(); 

     SharedPreferences.Editor editor = preference.edit(); 

     long totalForgroundTime = preference.getLong("TotalForegroundTime", 0) + (pauseTime-resumeTime); 

     editor.putLong("TotalForegroundTime", totalForgroundTime); 

     editor.commit(); 

     ((TextView) findViewById(R.id.textView1)).setText(
                String.valueOf(TimeUnit.SECONDS.convert(totalForgroundTime, TimeUnit.MILLISECONDS)) + " Seconds"); 

} 

    @Override 
    protected void onResume() { 
     // TODO Auto-generated method stub 
     super.onResume(); 

     //update foreground time 
     resumeTime = System.currentTimeMillis(); 


    } 

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