簡體   English   中英

從圖書館項目到主要項目的意圖

[英]intent from library project to main project

當我嘗試使用意圖從主項目傳遞到庫項目時, 它工作正常,但是.....當我嘗試從庫項目傳遞到主項目時,它無法識別主項目中的類

我試圖在我的圖書館項目中寫出這個意圖:

Intent intent = new Intent(this,com.example.uploadvideo.class);
startActivity(intent);

我將要連接的兩個活動添加到主項目和庫項目的清單中。

在此處輸入圖片說明

圖書館項目不了解主要項目。 imo的首選解決方案是使用操作,而不是嘗試直接在意圖中加載類。 如果要重用該庫,這也將為您提供更大的靈活性。

所以圖書館會做

Intent intent = new Intent("com.example.action_video_upload");
intent.setPackage(mContext.getPackageName()); // only deliver to host app

並且主項目將在清單中注冊該意圖,

<intent-filter . . . >
    <action android:name="com.example.action_video_upload" />
</intent-filter>

可以在這里找到更多信息: developer.android.com

庫項目包含可共享的Android源代碼和資源,您可以在Android項目中引用這些資源。 當您具有要重用的通用代碼時,這很有用。 庫項目無法安裝到設備上,但是會在構建時將它們拉到.apk文件中。

換句話說,圖書館項目將受到侵犯。

從庫中調用主項目的意圖才有意義。

實際上,您使庫項目效率低下,無法處理當前主項目以外的項目。

以以下方式開始下一個活動:

Intent intent = new Intent(this,com.example.UploadVideo.class);
startActivity(intent);

因為當前您在第二個參數中向Intent構造函數傳遞了錯誤的活動名稱

暫無
暫無

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

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