Partage
  • Partager sur Facebook
  • Partager sur Twitter

L'appli ne se lance pas au démarrage du phone

19 novembre 2020 à 19:21:40

Bonjour,

Je suis en train de concevoir une application android en java et je voudrai que cette dernière se lance au démarrage du smartphone j'ai bien sur enregistré un BroadcastReceiver pour l'événement de BOOT de mon téléphone comme expliquer ici mais ça ne marche pas sur Android 10 sinon pour info ça a marché sur Android 4.1.

Pouvez vous m'aider s'il vous plait ?

Voici mon code :

Manifest :

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.openclassrooms.fr.premierprojet">
    <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/AppTheme">
        <activity android:name=".PremiereActivite">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <receiver android:name=".StartAppOnBoot">
            <intent-filter>
                <action android:name="android.intent.action.BOOT_COMPLETED" />
                <action android:name="android.intent.action.QUICKBOOT_POWERON" />
            </intent-filter>
        </receiver>
    </application>
</manifest>

Classe Main

package com.openclassrooms.fr.premierprojet;

import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;


public class PremiereActivite extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
}

Classe du Diffuseur :

package com.openclassrooms.fr.premierprojet;

import android.content.BroadcastReceiver;
        import android.content.Context;
        import android.content.Intent;
public class StartAppOnBoot extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        if (Intent.ACTION_BOOT_COMPLETED.equals(intent.getAction())) {
            Intent i = new Intent(context, PremiereActivite.class);
            i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            context.startActivity(i);
        }
    }
}

Cordialement.



  • Partager sur Facebook
  • Partager sur Twitter

Android est SKYNET !