APP automatisch starten

Laser5001

Laser5001

Neues Mitglied
1
Hallo, ich versuche gerade verzweifelt eine App automatisch beim Boot starten zu lassen.

Hatte schon diverse Varianten von diesem Boot Receiver in der MainActivity.cs:

C#:
[BroadcastReceiver(Enabled = true)]
    [IntentFilter(new[] { Intent.ActionBootCompleted })]
    public class BootReceiver : BroadcastReceiver
    {
        public override void OnReceive(Context context, Intent intent)
        {
            Intent i = new Intent(context, typeof(MainActivity));
            i.AddFlags(ActivityFlags.NewTask);

            if (Build.VERSION.SdkInt >= BuildVersionCodes.O)
            {
                context.StartForegroundService(i);
            }
            else
            {
                context.StartService(i);
            }
        }
    }

Manifest:
XML:
<receiver android:name=".BootReceiver" android:enabled="true" android:exported="true">
            <intent-filter>
                <category android:name="android.intent.category.DEFAULT" />
                <action android:name="android.intent.action.BOOT_COMPLETED" />
                <action android:name="android.intent.action.QUICKBOOT_POWERON" />
                <!--For HTC devices-->
                <action android:name="com.htc.intent.action.QUICKBOOT_POWERON" />
            </intent-filter>
        </receiver>
.....
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />

Fehlermeldungen erscheinen keine aber gestartet wird auch nix.

Kann es an meinem Hersteller liegen? Es ist ein Cyrus Handy mit Android 10.
Ich es aktuell leider nicht auf einem anderen Handy testen.

ich habe hier noch gesehen das man für manche Hersteller das anders lösen muss:
Stackoverflow

Aber wie würde das bei Cyrus funktionieren? Gibt es irgendwie eine Möglichkeit heraus zu finden?

vg
Mathias
 
  • Danke
Reaktionen: schnauder84
@Laser5000

context.StartForegroundService(i);
Abgesehen davon, dass ForegroundService(s) (deprecated) im Playstore nur noch unter bestimmten Voraussetzungen zugelassen sind :

a) Was soll der DEFAULT Flag in deinem Intent filter bewirken ? Sowas reicht völlig
Code:
<receiver
   android:name="SystemBootReceiver"
   android:enabled="true" android:exported="true"
   android:permission="android.permission.RECEIVE_BOOT_COMPLETED">
      <intent-filter>
        <action android:name="android.intent.action.BOOT_COMPLETED"/>
      </intent-filter>
  </receiver>

Und das was mich wirklich stutzig macht :
...... ich versuche gerade verzweifelt eine App automatisch beim Boot starten zu lassen.

Funktioniert nicht mehr wirklich in ein und dem selben Paket, nur Service-basierend, bei Launchern und Widgets
Wenn, dann musst du dir etwas schreiben , was a la Tasker funktioniert und dann ein Paket Launchend.

Aber wie würde das bei Cyrus funktionieren? Gibt es irgendwie eine Möglichkeit heraus zu finden?
Du bist Dir schon bewusst , dass je nach Hersteller das einige Minuten dauern kann ?
Besonders bei denen , die einfach die Luft brauchen, um ihr eigenes Geraffel erst einmal aufzubauen , da einfach die Hardwarekraft fehlt .
 
Zuletzt bearbeitet:
Hallo Stefan,
vielen Dank für die schnelle Antwort.
Bin jetzt auf die Lösung gekommen... das Problem ist wenn man das Programm per Visual Studio auf dem Handy startet und danach nicht beendet und nochmal direkt am Handy startet dann wird der BootReceiver nicht registriert. Einen eigenen Dienst hats dann nicht mehr gebraucht.

vg
Mathias
 

Ähnliche Themen

Manny87
  • Manny87
Antworten
11
Aufrufe
167
swa00
swa00
R
  • Robby1950
2
Antworten
23
Aufrufe
1.022
Robby1950
R
netfreak
  • netfreak
Antworten
10
Aufrufe
463
netfreak
netfreak
Zurück
Oben Unten