簡體   English   中英

每當有新活動在應用程序中啟動時,我是否可以通過任何方法調用該方法?

[英]Is There any method by which I can call a method every time a new activity starts in an app?

我在Android項目中使用外部jar來實現某些功能,但是我需要在每個onStart()函數上調用initialize函數。 有沒有一種方法,我可以跳過此步驟,每當一個新的活動開始時它將自動被調用。

我知道一些代碼注入技術可用。 有人可以詳細解釋一下還是提供一些資料。

你可以試試這個:

protected void onCreate(Bundle savedInstanceState);

創建一個擴展Activity類的類,並在protected void onCreate(Bundle savedInstanceState);對庫方法進行調用protected void onCreate(Bundle savedInstanceState); 方法。

現在,進行所有需要在create上調用庫方法的自定義活動,而不是直接擴展Activity,而是在類之上進行擴展。

總之使用繼承!

答案是onCreate(Bundle bundle) 您可能還需要尋找onResumeonStart方法。

您可以通過創建自定義Activity類並覆蓋其onStart方法來實現。 然后從此自定義活動擴展所有活動。

    public class CustomActivity extends Activity{
       @Override
       protected void onStart() {
            // TODO Auto-generated method stub
            super.onStart();
           // call your method.
       }

    }

然后從此自定義活動擴展您的活動。

您可以按照以下步驟進行操作,而無需修改每個活動。

創建一個擴展android.app.Application類的類

public class YourApplication extends Application {

    @Override
    public void onCreate() {
         // do whatever start-up processes you want to perform in this method
    }
}

接下來,如下修改應用程序清單文件

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="application.package"
    android:versionCode="1"
    android:versionName="1.0" >

    <application
    ...
        android:name="application.package.YourApplication"
    ... >
    </application>
</manifest>

希望這可以幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM