よくある質問(FAQ)

  • HOME
  • サポート
  • よくある質問(FAQ)
  • 端末起動時にアプリケーションを一緒に起動することはできますか?

端末起動時にアプリケーションを一緒に起動することはできますか?

下記のいずれかの方法で対応可能です。
①アプリケーションでOS起動を検知する方法
②ホームアプリケーションを変更する方法

①アプリケーションでOS起動を検知する方法
BroadcastReceiverを使用することでOS起動を検知できます。
下記を参考にOS起動を検知するクラスの作成とAndroidManifest.xmlへ設定を追加してください。

▼クラス(ブロードキャストを検知するクラス)

public class StartupReceiver extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {
        // MainActivityを起動
        Intent activityIntent = new Intent(context, MainActivity.class);
        activityIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        context.startActivity(activityIntent);
    }
}



▼AndroidManifest.xml(uses-permissionとreceiverの追加)
「BOOT_COMPLETED(OS起動)」の通知を受けたときに「StartupReceiver」を起動するように設定します。

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.myapplication">

    <!-- 下記のuses-permissionを追加してください --> 
    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
    
    <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/Theme.MyApplication">
        <activity
            android:name=".MainActivity"
            android:exported="true">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

        <!-- 下記のreceiverを追加してください --> 
        <receiver android:name=".StartupReceiver"
            android:exported="true">
            <intent-filter>
                <action android:name="android.intent.action.BOOT_COMPLETED" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </receiver>

    </application>
</manifest>



②ホームアプリケーションを変更する
端末のホームアプリケーションを変更すると端末起動時にアプリケーションも一緒に起動します。
ホームアプリケーションは「設定 ⇒ アプリと通知 ⇒ デフォルトのアプリ ⇒ ホームアプリ」より設定してください。
ここで設定できるアプリケーションは、ホームアプリケーションとして作成する必要があります。

ホームアプリケーションの作成には、AndroidManifest.xmlに下記の設定を追加します。

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.myapplication">

    <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/Theme.MyApplication">
        <activity
            android:name=".MainActivity"
            android:exported="true">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
                
                <!-- 下記のcategoryを追加してください --> 
                <category android:name="android.intent.category.HOME" />
                <category android:name="android.intent.category.DEFAULT" />
                
            </intent-filter>
        </activity>
    </application>
</manifest>