所以可以使用這個intent可以叫出一個activity來選擇捷徑或應用程式
下例就是一個列出所有應用程式(有登記在launcher)的選擇清單
// 設定選單的內容
Intent appIntent = new Intent(Intent.ACTION_MAIN, null);
appIntent.addCategory(Intent.CATEGORY_LAUNCHER);
Intent pickIntent = new Intent(Intent.ACTION_PICK_ACTIVITY);
pickIntent.putExtra(Intent.EXTRA_INTENT, appIntent); // 選單的內容
pickIntent.putExtra(Intent.EXTRA_TITLE, "Select an application"); // 選單的標題
startActivityForResult(pickIntent, 0);
但是這樣子選擇應用程式之後並不會有任何動作
所以還要去實做onActivityResult()去接收選擇應用程式後回傳的那個intent, 這樣才能對選擇的目標進行想要做的操作
下例則為啟動選擇的應用程式的Activity
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent intent)
{
if (resultCode == Activity.RESULT_OK)
{
if(requestCode == 0)
{
startActivity(intent); // 啟動選擇的應用程式
}
}
}
沒有留言:
張貼留言