これらは非常によく文書化されておらず、残念なことに以前は「ランチャーショートカット」と呼ばれていましたが、現在は名前が付けられていません。 Novaのジェスチャーメニューなどに加えて、ウィジェットドロワーのウィジェットの隣にも表示されます。私は「ウィジェットショートカット」と考えています。
公式ドキュメントはApiDemosでデモに限定しているようだ: https://android.googlesource.com/platform/development/+/master/samples/ApiDemos/src/com/example/android/apis/app/LauncherShortcuts.java
アイデアは、あなたのマニフェストにあなたがandroid.intent.action.CREATE_SHORTCUT
を処理し、ラベル、アイコンをランチャーに結果を返すと意図を標的としていることです。ランチャーはそれをデスクトップ上のアイコンにしたり、ジェスチャーなどの意図を使用したりすることができます。ユーザーはランチャーがその活動のstartActivityForResult
を行い、あなたのショートカットを選ぶ次に、あなたのAndroidManifest.xml
<activity android:name=".CreateShortcut">
<intent-filter>
<action android:name="android.intent.action.CREATE_SHORTCUT" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
で
は、あなたはどちらかfinish
はすぐに結果に、またはあなたがに、ユーザーにUIを表示することができますすることができますショートカットを設定します。 いずれにしても、準備完了のときランチャーに情報を返す:
Intent result = new Intent();
result.putExtra(Intent.EXTRA_SHORTCUT_INTENT, targetIntent);
result.putExtra(Intent.EXTRA_SHORTCUT_NAME, targetLabel);
Parcelable iconResource = Intent.ShortcutIconResource.fromContext(
this, R.drawable.ic_launcher_shortcut);
result.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, iconResource);
setResult(RESULT_OK, result);
finish();
ありがとうKevin。 Nova Launcher dev:D –
@kevinからの回答は期待していませんでした。https://stackoverflow.com/questions/47769971/shortcuts-vs-launcher-widgets-android – Aram