よくある質問(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>