嘿,我想知道如何運行一個方法,refreshChannel();
在一個onCreate
我的活動只有一次,直到應用程序被殺害或重新啓動?如何在每個應用程序啓動時運行一次方法?
2
A
回答
5
您可以擴展Application
並在您的自定義應用程序類的onCreate
中運行該方法。這僅在每次應用程序啓動時運行一次。
例如:
public class MyApp extends Application {
@Override
public void onCreate() {
super.onCreate();
// Your methods here...
}
}
請注意,這應該不能長時間運行。如果需要一些時間,請在AsyncTask
中執行。
最後,你需要告訴Android你有一個自定義的應用程序類。您可以通過在application
標籤的android:name
屬性引用您的應用程序類做到這一點在你的清單:
<manifest ... >
<application
android:name=".MyApp"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity>
...
</activity>
</application>
</manifest>
1
你也可以繼承應用程序類。然後重寫Application類的子類中的onCreate方法。將一個字段添加到應用程序子類。
public class SubApplication extends Application {
public boolean hasRefreshed;
@Override
public void onCreate() {
super.onCreate();
hasRefreshed=false;
}
}
然後當你對你的活動執行:
SubApplication app = (SubApplication) context
.getApplicationContext();
if(app.hasRefreshed){
//do nothing
}else{
refresh();
app.hasRefreshed=true;
}
末,該行添加到您的清單,以便系統知道使用的子類。
<application
android:name=".SubApplication "
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity>
...
</activity>
</application>
相關問題
- 1. Netbeans CUnit每次啓動應用程序時運行一次
- 2. 如何在應用程序啓動時運行一次?
- 3. Realm在每次運行應用程序時啓動一個新的數據庫
- 4. 每次運行應用程序時都要重新啓動應用程序?
- 5. 應用程序:didReceiveLocalNotification在第一次本地通知後運行每次啓動
- 6. 僅在Spring應用程序上下文啓動時運行一個方法?
- 7. 如何在每次打開應用程序時重新啓動應用程序?
- 8. 如何在每次應用程序恢復時啓動第一個視圖?
- 9. 如何在第一次啓動應用程序時使Activity只啓動一次?
- 10. 在啓動時運行應用程序
- 11. 在啓動時運行應用程序
- 12. 如何在xcode的應用程序啓動時執行一個方法?
- 13. 如何在每次運行應用程序時清理沙箱?
- 14. 如何在首次啓動C#程序時運行方法或事件?
- 15. MyApplication.java沒有在第二次啓動應用程序時運行?
- 16. 在spring-mvc應用程序啓動時運行一個類
- 17. 如何在系統啓動時自動運行應用程序?
- 18. 如何在應用程序運行時啓動進程?
- 19. 每次啓動Android應用程序時顯示啓動畫面
- 20. 每次啓動時更改應用程序的啓動圖像
- 21. 僅在應用程序第一次啓動時啓動活動
- 22. 如何在啓動騾子時自動運行一次流程?
- 23. 當應用程序運行時每60秒發生一次方法
- 24. 每次啓動新應用程序
- 25. 每次顯示活動時運行一個方法
- 26. 如何在第一次應用程序啓動時顯示pushviewcontroller?
- 27. 如何在應用程序旁邊運行另一個方法
- 28. 每次都在同一活動上啓動Android應用程序
- 29. 如何在首次啓動應用程序時訪問任何方法
- 30. 如何在iPhone程序啓動時運行一個函數?
最好將它放在應用程序之外的某個位置,因爲這會影響啓動時間。另一個答案是,使用布爾值來確定它是否已經運行,是更高性能的。 –