Android
 Computer >> コンピューター >  >> プログラミング >> Android

【Android】ボタンをタップしてホーム画面へ遷移させる方法を解説

この記事では、Androidアプリ内のボタンをタップしたときに、端末のホーム画面(ランチャー)へ遷移させる方法を、サンプルコード付きでわかりやすく解説します。

仕組みのポイント

ホーム画面への遷移には、IntentクラスのACTION_MAINアクションとCATEGORY_HOMEカテゴリを組み合わせます。これは「Androidシステムのホームアプリを起動してほしい」という意図をシステムに伝えるための標準的な手法で、特別なパーミッションを追加する必要はありません。

手順1:新しいプロジェクトを作成する

Android Studioを開き、メニューから「File」→「New Project」を選択します。必要な情報を入力して、新しいプロジェクトを作成してください。

手順2:レイアウトファイルを編集する

res/layout/activity_main.xml に以下のコードを追加します。画面中央に「Goto Home」というボタンを1つ配置したシンプルな構成です。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="https://schemas.android.com/apk/res/android"
    xmlns:tools="https://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:padding="16sp"
    tools:context=".MainActivity">
    <Button
        android:text="Goto Home "
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/button"
        android:layout_centerInParent="true" />
</RelativeLayout>

手順3:MainActivity.java に処理を追加する

src/MainActivity.java に以下のコードを記述します。ボタンがクリックされると、ACTION_MAIN+CATEGORY_HOME のIntentを生成して startActivity() を呼び出すことで、ホーム画面へ移動します。

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
public class MainActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Button button = findViewById(R.id.button);
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent startMain = new Intent(Intent.ACTION_MAIN);
                startMain.addCategory(Intent.CATEGORY_HOME);
                startMain.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                startActivity(startMain);
            }
        });
    }
}

手順4:AndroidManifest.xml を確認する

androidManifest.xml は以下の通りです。今回の実装では、権限や特別な設定の追加は一切不要です。

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="https://schemas.android.com/apk/res/android" package="app.com.sample">
    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
</manifest>

アプリを実行して動作を確認しよう

それでは、実際にアプリを起動してみましょう。Android端末をPCに接続した状態で、Android Studioのツールバーにある「Run」アイコンをクリックし、接続した端末を選択してアプリを実行します。

アプリが起動すると、まずボタンが中央に配置された画面が表示されます。このボタンをタップすると、アプリはバックグラウンドに移行し、端末のホーム画面が表示されます。

【Android】ボタンをタップしてホーム画面へ遷移させる方法を解説


【Android】ボタンをタップしてホーム画面へ遷移させる方法を解説

  1. Androidでホーム画面を割り当てる方法!変更・削除・復元の手順を徹底解説

    Androidでホームボタンをタップすると、設定されたホーム画面へ移動します。しかし、うっかり別の画面をホームに設定してしまったり、システムアップデートによってホーム画面が勝手に切り替わってしまうこともあります。また、「別の画面をホームにしたい」と感じる場面もあるでしょう。アイコンをすべて移動し直す必要はありません。Androidでは、既存のどの画面でも簡単にホーム画面として割り当てることができます。 Androidでホーム画面を割り当てる手順 Android端末で作成した画面は、どれでもホーム画面に設定可能です。通常は最初の画面がホームになっていますが、3番目や4番目の画面をホームにする

  2. Androidのホームボタンをダブルタップしてカメラを起動する方法

    スマートフォンの中には、カメラアプリをワンタップで起動できる専用ボタンを搭載した機種もありますが、多くの機種ではアプリドロワー(またはホーム画面)から手動でカメラアプリを開く必要があります。Androidはカスタマイズ性の高さで知られており、実はホームボタンからカメラアプリを直接起動できるようにする方法があります。これを設定しておけば、端末のメニューをたどる手間が省け、従来の方法よりもはるかに素早くカメラを立ち上げられます。急いでいるときに決定的な瞬間を撮りたい——そんな場面でも、ホームボタンを押すだけでカメラアプリを起動できます。アプリドロワーから開くよりも格段に速いでしょう。ここでは、An