私はAndroid携帯用のカスタムランチャーを開発するつもりです。Webを検索しましたが、「ランチャー」プロジェクトの作成に関する貴重な情報が見つかりませんでした。GUI(別名ランチャー)のトップにいるためにAndroidアプリには何が必要ですか?
2 に答える
自分のランチャーを作成する前に、このスレッドを少し前に見ました。
これが私が学んだいくつかの重要なことです:
アプリをランチャーとして宣言する
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
さて、最初にあなたはandroid.intent.category.HOME
意図に耳を傾ける必要があります。ここにあなたが見ることができる完全なソースコードへのいくつかのリンクがあります:
または、ランチャープラスをご覧ください。