16

私はAndroid携帯用のカスタムランチャーを開発するつもりです。Webを検索しましたが、「ランチャー」プロジェクトの作成に関する貴重な情報が見つかりませんでした。GUI(別名ランチャー)のトップにいるためにAndroidアプリには何が必要ですか?

4

2 に答える 2

10

自分のランチャーを作成する前に、このスレッドを少し前に見ました。
これが私が学んだいくつかの重要なことです:


アプリをランチャーとして宣言する

Davidは、アプリをランチャーとして決定するコードについてすでに述べています。

<category android:name="android.intent.category.HOME" />

intent-filterこれを、ランチャーがホーム画面(で)に使用するアクティビティに追加しますAndroidManifest.xml

ランチャーの問題

ランチャーは常に実行されるため、問題を防ぐためにアクティビティのライブサイクルを理解する必要があります(このような)。

ユーザー(および自分自身)がアプリを常に使用できるようにする場合(これは通常、ランチャーで行うことです)、アプリがクラッシュしないようにしてください。クラッシュした場合、ユーザーはデバイスのデフォルトのランチャーまたは他のインストールされているランチャーに戻されます。

つまり、ランチャーは信頼できるものであることが期待されます。

一般的なランチャー機能(ユーザーは通常それらを期待します)

1)アプリ/appdrawerのリスト

そこからすべてのアプリを起動または変更できます。packageManagerアプリを一覧表示するために使用できます。

このようなリストの生成には時間がかかる場合があるため、非同期で実行し、リストをどこかに保存してすべてを高速化することをお勧めします(これはランチャーからも期待されます^^)

2)ランチャーを変更するためのいくつかの設定

それらを実装する前に、ランチャーで何人かのユーザーが立ち往生していました^^

次のようにデバイスランチャー設定を開くことができます(Kotlinで):

// working in APIs newer than Lollipop
val callHomeSettingIntent = Intent(Settings.ACTION_HOME_SETTINGS)
startActivity(callHomeSettingIntent)

ボーナス)アプリ内チュートリアル

これは、ユーザーが他のアプリから知らないアプリを起動するための簡単ではない機能がアプリにある場合に役立つことがあります。

また、ソフトウェアの操作方法を尋ねるユーザーからのメッセージも大幅に少なくなります。


資力:

  • 私が作成した最小限のランチャーのGitHubが役立つ場合があります:finnmglas / Launcher
于 2020-07-11T18:31:51.380 に答える
9

さて、最初にあなたはandroid.intent.category.HOME意図に耳を傾ける必要があります。ここにあなたが見ることができる完全なソースコードへのいくつかのリンクがあります:

または、ランチャープラスをご覧ください。

于 2011-08-18T12:05:23.710 に答える