1
當用戶單擊按鈕時,他將獲得支持使用此代碼的快捷方式的應用程序列表。從Android應用程序獲取快捷方式意圖信息
Intent j;
j = new Intent(Intent.ACTION_PICK_ACTIVITY);
j.putExtra(Intent.EXTRA_INTENT, new Intent(Intent.ACTION_CREATE_SHORTCUT));
j.putExtra(Intent.EXTRA_TITLE, "Create a Shortcut");
startActivityForResult(j, choose_app_for_shortcut);
他選擇的應用程序後,我向用戶顯示快捷鍵列表此應用程序支持此代碼在onActivityResul()方法
onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(resultCode == Activity.RESULT_OK && data != null) {
switch(requestCode){
case: choose_app_for_shortcut
Intent i = data.getParcelableExtra(Intent.EXTRA_SHORTCUT_INTENT);
startActivityForResult(data, pick_shortcut_from_app);
break;
case pick_shortcut_from_app:
?
?
}
}
的問題是:我需要什麼碼在:(case: pick_shortcut_from_app
)得到我需要運行這個快捷方式的信息?最終目標是將此信息存儲在文件中,以便應用程序記住該選擇,並在應用程序關閉後啓動快捷方式。我嘗試了一些東西,但它導致應用程序崩潰,因此您的幫助將不勝感激!
我進了一步使用此代碼
String uri = data.toURI().toString();
try {
startActivity(Intent.getIntent(uri));
} catch (URISyntaxException e) {
e.printStackTrace();
}
,但我得到我奇怪的消息,問我想用它來完成這個動作有什麼應用程序。並且快捷方式的應用程序不在列表中!