10

私のAndroidのランチャーでADBからショートカットを作成することは可能ですか?PCから(ダブルクリックで)アプリケーションをインストールするための.batファイルがありますが、その後は、ランチャーの巨大な(それほどユーザーフレンドリーではない)アプリケーションリストを常に検索する必要があります。この機能を私の.batファイルに追加することができれば素晴らしいでしょう。私はすでに運がなくてもウェブで検索しようとしています:S。

前もって感謝します

4

1 に答える 1

11

これを処理する方法はいくつかあります。再編集を行うたびにアプリケーションをすばやく起動できるようにすることが主なニーズである場合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");
于 2013-03-18T14:32:03.710 に答える