Activity-Starter 活動啟動器 ActivityStarter 元件可以讓您的應用程式呼叫另一項活動(Activity)。 透過設定 ActivityStarter 的屬性,我們就能正確地與它溝通,這包含 action 與 activity 等 class,詳細說明與範例請參考附錄C<App Inventor 小秘訣>。 可由ActivityStarter啟動的活動包括: 1. 啟動另一個 App Inventor 應用程式:首先確定您所要啟動類的應用程式的 class, 請下載它原始碼並解壓縮,找到一個名為「youngandroidproject/project.properties」 檔。第一行將由「main =」開始,後面跟著class名稱, 例如: main=com.gmail.Bitdiddle.Ben.HelloPurr.Screen1 若要使您的ActivityStarter元件能夠呼叫這個程式,請如下設定: █ 在 ActivityPackage 屬性中填入 class 名稱,但最後一個元件名稱不要放, 例如 com.gmail.Bitdiddle.Ben.HelloPurr。 █ 在 ActivityClass 屬性中填入完整的 class 名稱, 例如 com.gmail.Bitdiddle.Ben.HelloPurr.Screen1。 2. 啟動內建於 Android 作業系統的活動:如使用相機或執行一次網路搜尋。您可以 藉由以下設定來啟動相機: █ Action: android.intent.action.MAIN █ ActivityPackage: com.android.camera █ ActivityClass: com.android.camera.Camera 3. 執行網路搜尋:假定您要搜尋「vampire 」這個詞,請依循以下設定: █ Action: android.intent.action.WEB_SEARCH █ ExtraKey: query █ ExtraValue: vampire █ ActivityPackage: com.google.android.providers.enhancedgooglesearch █ ActivityClass: com.google.android.providers.enhancedgooglesearch.Launcher 4.打開瀏覽器並到指定網頁:如果您想去的網站是「www.facebook.com」,請依循以 下設定: █ Action: android.intent.action.VIEW █ DataUri: http://www.facebook.com 您也可以藉由 ActivityStarter 來啟動安裝在您 Android 裝置上的第三方程式,但需要提供正確的 intent 呼叫它們。 您也可以呼叫會產生字串結果的活動,並將這些結果拉回到您的應用程式當中。請注意擷取資料的方式與該程式實作的方法有關。 屬性 Action 欲使用 ActivityStarter 元件啟動的 activity。 ActivityStarter.Action :取得欲使用 ActivityStarter 元件啟動的activity。 Set ActivityStarter.Action:設定欲使用 ActivityStarter 元件啟動的activity。 ActivityClass 欲呼叫 activity 之 class 名稱。 ActivityStarter.ActivityClass:取得欲呼叫 activity 之 class 名稱。 Set ActivityStarter.ActivityClass:設定欲呼叫 activity 之 class 名稱。 ActivityPackage 欲呼叫 activity 的 Package 名稱。 ActivityStarter.ActivityPackage:取得欲呼叫 activity 的 Package 名稱。 Set ActivityStarter.ActivityPackage:設定欲呼叫 activity 的 Package 名稱。 | DataUri 欲呼叫 activity 的 URI(Uniform Resource Identifier)。 ActivityStarter.DataUri:取得欲呼叫 activity 的 URI(Uniform Resource Identifier)。 Set ActivityStarter.DataUri:設定欲呼叫 activity 的 URI(Uniform Resource Identifier)。 ExtraKey 欲呼叫 activity 的 key 名稱。 ActivityStarter.ExtraKey:取得欲呼叫 activity 的 key 名稱。 Set ActivityStarter.ExtraKey:設定欲呼叫 activity 的 key 名稱。 ExtraValue 欲呼叫 activity 的資料內容。 ActivityStarter.ExtraValue:取得欲呼叫 activity 的資料內容。 Set ActivityStarter.ExtraValue:設定欲呼叫 activity 的資料內容。 Result ActivityStarter.Result : 取得所呼叫 activity 的回傳值內容。 ResultName ActivityStarter.ResultName : 取得所呼叫 activity 回傳值的名稱。 Set ActivityStarter.ResultName : 設定所呼叫 activity 回傳值的名稱。 ResultType: text ActivityStarter.ResultType : 取得所呼叫 activity 的資料型態。 ResultUri: text ActivityStarter.ResultUri : 取得所呼叫 activity 傳回的 URI 或資料。 事件 AfterActivity(text result) when ActivityStarter.AfterActivity : ActivityStarter 結束後啟動本事件。 方法 ResolveActivity ActivityStarter.ResolveActivity : 回傳所呼叫的 activity 名稱,如果回傳一個空字串代表找不到對應的 activity。 您可以在呼叫外部程式之前先使用此方法,好確保該程式已確實安裝於Android裝置之中。 StartActivity ActivityStarter.StartActivity : 啟動欲呼叫的activity。 |