2016-09-07 48 views
0

的存在,我正在考慮中的代碼this question,並沒有執行以下操作:檢查的活動

首先,我創建了一個簡單的,空的項目只有一個ActivityMainActivity,這是在包com.example.plugins。我編譯這個項目並將其安裝到我的設備上。該應用程序工作正常。

然後,在另一個項目中,我有這樣的代碼:

Intent plugins = new Intent(); 
plugins.setClassName("com.example.plugins", "MainActivity"); 
List<ResolveInfo> list = getPackageManager().queryIntentActivities(plugins, 
       PackageManager.MATCH_DEFAULT_ONLY); 
if (list.size() > 0) { 
    tvText.setText("Plugins."); 
} else { 
    tvText.setText("No Plugins."); 
} 

我想說這應該工作,但事實並非如此。它提供了「無插件」。我在這裏錯過了什麼嗎?

更新當使用

PackageInfo pi = getPackageManager().getPackageInfo(
        "com.example.plugins", PackageManager.GET_ACTIVITIES); 

我從其他應用程序獲得的活動。

+0

所以你需要知道的是包安裝或沒有,對不對? – DEADMC

+0

@DEADMC,我想調用該活動以從中獲取一些信息。我正在嘗試創建某種插件系統(例如C#中的DDL) –

回答

0

我認爲意圖的MIME類型丟失。

plugins.setType("text/plain"); 
+0

這沒有任何作用。 –

0

當設置類名,您必須使用完整名稱,包括包:

plugins.setClassName("com.example.plugins", "com.example.plugins.MainActivity");