App Inventor 2 指令中文化 Activity-Starter 活動啟動器

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。