1

Mon récepteur de diffusion est déclenché par l'événement BOOT_COMPLETED et fonctionne correctement sur de nombreux appareils à l'exception du Nomi C10103. Le message apparaît dans le journal sur l'appareil: D/ActivityManager: envoyer une diffusion: android.intent.action.BOOT_COMPLETED, sauter paquet: com.example.myPackageNameLe démarrage automatique (BOOT_COMPLETED) ne fonctionne pas sur la tablette Nomi

Envoi du message am diffusion android -a. intent.action.BOOT_COMPLETED com.example.myPackageName depuis adb shell ne lance pas non plus l'application.

Code Manifest:

<receiver 
     android:name=".AutoRunReceiver"> 
     <intent-filter android:priority="1000"> 
      <action android:name="android.intent.action.BOOT_COMPLETED" /> 
      <category android:name="android.intent.category.LAUNCHER"/> 
     </intent-filter> 
     <intent-filter android:priority="1000"> 
      <action android:name="android.intent.action.QUICKBOOT_POWERON" /> 
     </intent-filter> 
    </receiver> 

AutorunReceiver.java:

public class AutoRunReceiver extends BroadcastReceiver { 
    @Override 
    public void onReceive(Context context, Intent intent) { 
     //приёмник автозагрузки 
     if (intent != null && intent.getAction() != null) { 
      final String msg="intent:"+intent+" action:"+intent.getAction(); 
      Log.d("myLogs",msg); 
      Toast.makeText(context,msg,Toast.LENGTH_LONG).show();  
     } 
    } 
} 
+0

Pourquoi avez-vous la balise '' dans le champ ''? Cela n'appartient pas là. Vous devriez l'enlever dans tous les cas. Peut-être que cela va résoudre ce problème. –

+0

Je trouve cette balise dans le filtre d'intention du manifeste DrWeb (cette application démarre correctement sur cet appareil après le redémarrage). Supprimer cette balise n'a aucun effet. – SolderingIronMen

+0

Sur certains périphériques, il existe un paramètre de sécurité supplémentaire dans lequel l'utilisateur doit spécifiquement autoriser le lancement des applications au démarrage ou l'exécution en arrière-plan. Peut-être que cet appareil a un tel paramètre de sécurité. Parcourez les écrans des paramètres pour voir si vous voyez une liste d'applications autorisées à s'exécuter en arrière-plan ou à exécuter au démarrage. –

Répondre

2

Je réalise que le problème est pas dans le code, mais l'appareil lui-même. La lecture automatique ne fonctionne pas sur ma tablette pour toute application. Comme une solution de contournement, j'ai utilisé l'événement "android.intent.action.USER_PRESENT", qui est déclenché après le chargement de l'appareil et le déverrouillage de l'écran.