2015-08-26 3 views
0

Может кто-нибудь помочь мне получить ссылку на текущую активность из Myapp, которая расширяет приложение. Я пытаюсь реализовать простую функцию встряхивания, которая использует библиотеку sesmic. Как только дрожание обнаружено, мне нужно иметь ссылку на текущую активность, чтобы я мог сохранить снимок экрана текущего вида. Мне нужно, чтобы получить доступ к текущей деятельности что-то вродеСсылка на текущую активность в android

enter public class MyApp extends Application { 

public onSomeTriggerCallThisFunction() { 
    Activity currentActivity = getCurrentActivity(); 
}} 

Может кто-то помочь мне с getCurrentActivity()

+6

Go над этим: http://stackoverflow.com/questions/11411395/how-to-get-current-foreground-activity-context -in-android – Geetha

+0

Этот вопрос и этот ответ: http://stackoverflow.com/a/13994622/3162918 – bendaf

ответ

2

Для уровня API 14:

Они добавляют новую общественную функцию

public void registerActivityLifecycleCallbacks (Application.ActivityLifecycleCallbacks callback) 

Исполнительное их в вашем классе приложения может предоставить доступ к текущей деятельности.

Чтобы read about it's Documentation ...

An Example to get started with...

2

вы должны установить currentActivity при вызове каждого вида деятельности в OnCreate или onResume метод деятельности, как это. G мой класс Application и currentActivity мое статическое поле в G классе

@Override 
protected void onResume() { 
    super.onResume(); 
    G.currentActivity = this; 
} 
+1

Не делайте этого. Делать. Эта. Когда-либо. – nhaarman

+0

Почему «Не делай этого. Когда-нибудь»? @nhaarman –

+1

См. [Избегание утечек памяти] (http://android-developers.blogspot.nl/2009/01/avoiding-memory-leaks.html) – nhaarman

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