2014-04-08 22 views
0

我想在Android應用程序中設置一個Intent以請求另一個應用程序(我也開發了這個應用程序)發送給我一小段文本。我看到,用startActivityForResult()我可以使用意圖從另一個活動中獲取結果。如何通過Android Intent從我自己的應用程序請求一小段文本

我的問題是:

  • 如何設置的意圖,只是「搜索」爲我自己的應用程序?
  • 如何檢查收到的Intent是否來自我自己的一個應用程序?
  • 有沒有更好的方法來做到這一點?

我原本計劃添加android:sharedUserId並使用SharedPreferences但我絕對不能讓我的用戶reinstall the application and lose their local data

回答

0

如果我們在談論兩個不同的應用程序,意圖的使用就沒關係。定義你的動作並在其中添加一個字符串。從應用程序A發送意圖(字符串請求)並接收B中的意圖(字符串「owner」)。在B調用setResult()的廣播接收器中返回你的字符串。您必須在應用程序A中調用sendOrderedBroadcast()。

編輯:爲了避免從其他應用程序接收意圖,您可以在應用程序B中定義您自己的權限,定義和使用應用程序A中的權限以及B的廣播接收者指定參數中的許可。當你定義權限時,你可以指定「簽名」。通過這種方式,您可以確定「其他」應用程序是您的應用程序。

+0

這將涉及兩個以上的應用程序。我無法弄清楚如何將其設置爲「安全」。 – user3512008

+0

請參閱我的編輯。 – greywolf82

相關問題