как-мне-запустить-мое-приложение-когда-телефон-запускается-на-андроиде
Основываясь на приведенной выше ссылке, я изменил свой собственный код в собственном проекте React, как указано ниже, но я не получаю никакого результата..!!
Androidmanifest.xml ``
<manifest xmlns:android = "http://schemas.android.com/apk/res/android"
package = "com.freshot.co.ownerapp">
<uses-permission android:name = "android.permission.INTERNET" />
<uses-permission android:name = "android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name = "android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name = "android.permission.SYSTEM_ALERT_WINDOW"/>
<application
android:name = ".MainApplication"
android:label = "@string/app_name"
android:icon = "@mipmap/ic_launcher"
android:roundIcon = "@mipmap/ic_launcher_round"
android:allowBackup = "false"
android:theme = "@style/AppTheme">
<meta-data
android:name = "com.google.android.geo.API_KEY"
android:value = "AIzaSyA88RySEu8iI-oY15iKKLE25WKVjKefKjk"/>
<activity
android:name = ".MainActivity"
android:label = "@string/app_name"
android:configChanges = "keyboard|keyboardHidden|orientation|screenLayout|screenSize|smallestScreenSize|uiMode"
android:launchMode = "singleTask"
android:windowSoftInputMode = "adjustResize"
android:exported = "true">
<intent-filter>
<action android:name = "android.intent.action.MAIN" />
<category android:name = "android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<receiver
android:name = "com.freshot.co.ownerapp.BootReciever"
android:enabled = "true"
android:exported = "true"
android:permission = "android.permission.RECEIVE_BOOT_COMPLETED">
<intent-filter>
<action android:name = "android.intent.action.BOOT_COMPLETED" />
<action android:name = "android.intent.action.QUICKBOOT_POWERON" />
<category android:name = "android.intent.category.DEFAULT" />
</intent-filter>
</receiver>
</application>
</manifest>
``
BootReciever.java
`
package com.freshot.co.ownerapp;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
public class BootReciever extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getAction() != null) {
if (intent.getAction().equals(Intent.ACTION_BOOT_COMPLETED)) {
Intent i = new Intent(context, MainActivity.class);
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(i);
}
}
}
}
`
Мое решение должно быть следующим: когда мобильный телефон/вкладка перезагружается или выключается/включается, мое родное приложение React должно открываться автоматически
Не работает на современных андроид-ресиверах - это фоновые задачи. Фоновые задачи не могут запускать активные действия. Этот метод работает для вас, чтобы выполнить некоторую быструю фоновую обработку или настроить некоторые сигналы тревоги на потом, но он не позволит вам отображать активность.
Вы используете приложение в режиме киоска, где хотите захватить домашний экран и заблокировать пользователя в своем приложении? Если это так, вы должны написать приложение для запуска. Если нет, то такое поведение крайне не рекомендуется, вплоть до того, что оно почти является активным вредоносным ПО — всплывающее окно приложения при загрузке не удобно для пользователя, оно является спамом и раздражает.
Чтобы сделать действие главным экраном для киоска, используйте
<intent-filter>
<action android:name = "android.intent.action.MAIN" />
<category android:name = "android.intent.category.LAUNCHER" />
<category android:name = "android.intent.category.HOME" />
<category android:name = "android.intent.category.DEFAULT" />
</intent-filter>
в своем манифесте, а затем установите приложение в качестве средства запуска по умолчанию после установки. После этого оно всегда будет запускать ваше приложение при загрузке и когда пользователь нажимает кнопку «Домой».
@GSJames Проверьте мою правку. В нем показано, как объявить свою активность приложением запуска, чтобы оно могло быть домашним экраном вашего устройства.
Большое спасибо, сэр...! Приведенный выше код добавляется в Androidmanifest после того, как приложение Reboot запрашивает запуск, после его выбора всегда открывается автоматически
это похоже на приложение в режиме киоска, когда приложение открывается, оно блокирует экраны, но после перезагрузки или перезапуска оно не открывается автоматически