私のAndroidのランチャーでADBからショートカットを作成することは可能ですか?PCから(ダブルクリックで)アプリケーションをインストールするための.batファイルがありますが、その後は、ランチャーの巨大な(それほどユーザーフレンドリーではない)アプリケーションリストを常に検索する必要があります。この機能を私の.batファイルに追加することができれば素晴らしいでしょう。私はすでに運がなくてもウェブで検索しようとしています:S。
前もって感謝します
これを処理する方法はいくつかあります。再編集を行うたびにアプリケーションをすばやく起動できるようにすることが主なニーズである場合adb shell am intent -n com.example.app/.App
は、が最も簡単なソリューションです。
ショートカットを作成したい場合(そしてどこでもかまわない場合)はcom.android.launcher.action.INSTALL_SHORTCUT
、誰もが言うように使用します。amブロードキャストはネストされたインテントを使用しないため、これを行うにはアプリまたはビンが必要です。
特定のランチャー(ADWランチャーなど)を使用している場合は、ショートカットのデータベースをハックできます。これにより、ショートカットの座標を指定できます(この場合は[2、3])
adb shell sqlite3 /data/data/org.adw.launcher/databases/launcher.db "DELETE FROM favorites WHERE _id=1; INSERT INTO favorites VALUES(1,'MyApp','#Intent;action=android.intent.action.MAIN;category=android.intent.category.LAUNCHER;launchFlags=0x10200000;component=com.example.app/.App;end',-100,0,2,3,1,1,0,-1,NULL,0,NULL,NULL,NULL,NULL,NULL);"
ランチャーにデータベースから更新するように指示する必要があります。通常、唯一の方法はランチャーを殺すことです。それ以降のバージョンのam(ActivityManagerシェルコマンド)には、パッケージを再起動するためのオプションがありますが、以前のバージョンにはありません。その場合、小さなアプリを作成する必要があります。
ActivityManager am = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
am.restartPackage("org.adw.launcher");