簡體   English   中英

我如何從另一個功能模塊訪問活動

[英]How can i access an activity from another feature module

我正在創建一個即時應用程序,其中包括應用程序模塊,基本功能模塊,即時應用程序模塊和另一個功能模塊。 問題是我無法從基本功能和功能模塊訪問應用程序模塊的活動,而基本功能模塊和功能模塊之間的訪問相同,但是我能夠從應用程序模塊訪問基本功能模塊的活動。

現在,我正在使用以下方式訪問活動:

Intent i = new Intent(this,
                    Class.forName("com.demo.test.appmodule.TextActivity"));

通過這種方法,studio在編譯時不會顯示任何錯誤。

  1. 兩個不同功能模塊之間是否還有其他通信方式?
  2. 為什么我能夠從應用程序模塊訪問基本功能模塊的活動,反之亦然?
  3. 我們可以從基礎模塊或任何其他功能模塊訪問應用程序模塊的活動嗎?

項目結構

在此處輸入圖片說明

我可以提供一個鏈接來定義即時應用程序的項目結構嗎

提前致謝

之所以不能在要素之間直接進行通信,是因為它們彼此獨立。

處理此問題的正確方法是使用其URL進行調用,例如: android-instant-apps / hello-feature-module / HelloActivity.java

Intent intent = new Intent(Intent.ACTION_VIEW,
Uri.parse("https://hello-feature.instantappsample.com/goodbye"));
intent.addCategory(Intent.CATEGORY_BROWSABLE);
startActivity(intent);

在即時應用程序結構中, 基礎充當功能模塊的庫 ,功能內置於APK中 在已安裝的應用程序結構中, 基礎和功能均充當應用程序模塊的 一些解釋可以在這里找到:

曾經有一個頁面@ https://g.co/instantapps解釋了即時應用程序的結構,但看起來好像丟失了。 但是,您可以看一下:

不,您將無法直接從功能訪問應用程序的活動。 作為已安裝的應用程序, com.android.feature模塊像com.android.library模塊一樣被編譯/運行,因此在此處應用相同的規則:應用程序依賴於庫,而不是相反。 要遍歷該方向,您將需要使用與上面所示相同的Intent。

com.android.application都將與Instant-app的功能模塊隔離開來,並且只會顯示在已安裝的App中。

暫無
暫無

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

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