2013-04-30 148 views
0

我想知道是否可以打開某個特定的操作,例如,我打算在Gmail應用程序中打開一封新郵件,或者在whatsapp這樣的新郵件上打開新郵件。在另一個應用程序內啓動Android應用程序的操作

我正在嘗試在應用程序中午餐應用程序的具體操作,因此它與多個應用程序進行交互。

如果有可能如何實現這一點。

到目前爲止,我確實可以用軟件包名午餐申請。

或從getInstalledPackages獲取軟件包列表,但我無法找到發佈應用程序操作。

是依賴於應用程序?

以及我知道,我可以這樣做:

Intent i = new Intent(Intent.ACTION_SEND); 
i.setType("text/plain"); 

提示該行動選擇用戶(如果不是默認值)。但我無法找到相關信息來午餐應用程序滑動用戶輸入。

我希望這至少可以用於最流行的應用程序。

回答

2

getInstalledPackages幾乎包含了您可以從PackageManager獲得的有關應用程序的所有內容。但它不包含每個組件的意圖。特別是,ActivityInfo不包含一個字段來存儲意圖或操作來啓動它。據我所知,很難以編程方式獲得你想要的東西。

但是,對於流行的應用程序,你可以直接有他們的apks,得到他們的AndroidManifest.xml,並得到你想要的手動。

如果您想在多個組件(應用程序)可以處理您的操作時跳過用戶輸入,則需要通過intent.setComponent()明確指定組件。

Intent intent = new Intent(Intent.ACTION_NAME); 
intent.setComponent(new ComponentName("com.package.address","com.package.address.TargetActivity")); 
startActivity(intent); 
+0

感謝您的回答是正確的,我必須得到清單,並從那裏得到的意圖,至少過濾器是「普通」 – cesaregb 2013-05-06 14:22:48

相關問題