我想用隱式意圖啓動應用程序,但在該應用程序啓動之前,我需要處理意圖並啓動一個狀態機,然後該狀態機將會載入一個Activity
。Android:不是Activity或BroadcastReceiver的類中的隱式意圖
我可以做到這一點使用廣播接收器或活動
<receiver android:name="com.13.MyBroadcastReceiver">
<intent-filter>
<action android:name="com.13.StartStateMachine" />
</intent-filter>
</receiver>
但後來我管不着,如果其他的應用程序將這個目的相同迴應。
或
<activity android:name="com.13.MyReceiverActivity">
<intent-filter>
<action android:name="com.13.StartStateMachine" />
</intent-filter>
</activity >
但是這不會是乾淨的,我可以做一些處理onCreate()
然後finish()
。
任何想法,如果我可以有這些方法的組合? 我的意思是使用隱式(或顯式)意圖從另一個應用程序加載類(不是BroadcastReceiver
或Activity
)?
「我想用隱式意圖啓動應用程序」 - 其他一些應用程序正在啓動您的應用程序。爲什麼該應用程序會使用隱式的'Intent'來啓動您的應用程序?誰會寫這個其他應用程序? 「但是,如果其他應用程序會響應這一相同的意圖,我無法控制」 - 您通常對隱含的「意圖」缺乏控制。您無法控制其他應用程序是否有響應隱式「意圖」的活動。 「我的意思是使用隱式(或顯式)意圖從另一個應用程序加載類(不是BroadcastReceiver或Activity)?」 - 沒有任何解決您的問題。 – CommonsWare
感謝您的回覆,我有兩個應用程序的代碼。 – Serj
那你爲什麼要用隱式的'Intent'?如果您同時控制兩個應用程序,並且您希望應用程序A啓動應用程序B,則使用明確的「意圖」。或者,從一個隱含的'Intent'開始,使用'PackageManager'來確定App B中的哪個組件支持'Intent',並使用這些信息來使'Intent'明確。 – CommonsWare