Bonjour,
Après avoir enfin réussi à lancer un service sur ma machine Virtuelle Android je me suis dit aller maintenant le smartphone et j'étais tout content car ça marché enfin... Mais le bonheur fut éphémère...
Sur la machine virtuelle crée avec Android Studio cela fonctionne mais pas sur mon téléphone ou je suis obligé de lancer manuellement le programme qui lui lance le service...
Voici le manifest:
Et voici le code du KernelReceiver
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51 <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.caranille.myownpet"> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <uses-permission android:name="android.permission.BLUETOOTH" /> <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" /> <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:supportsRtl="true" android:theme="@style/AppTheme"> <activity android:name=".MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name=".RegisterActivity" android:screenOrientation="portrait" /> <activity android:name=".MainPetStatsActivity" android:screenOrientation="portrait" /> <activity android:name=".TrainingPetActivity" android:screenOrientation="portrait" /> <activity android:name=".MainPetActivity" android:screenOrientation="portrait" /> <activity android:name=".ArenaActivity"></activity> <service android:enabled="true" android:name="com.caranille.myownpet.Kernel.KernelService"> </service> <receiver android:name="com.caranille.myownpet.Kernel.KernelReceiver" > <intent-filter> <action android:name="android.intent.action.BOOT_COMPLETED" /> <action android:name="android.intent.action.REBOOT" /> </intent-filter> </receiver> </application> </manifest>
Sur l'émulateur nickel tout est bon mais sur mon téléphone rien ne se lance... Mais pourquoi un soir à 22:24 mon téléphone me fait ça...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package com.caranille.myownpet.Kernel; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.widget.Toast; public class KernelReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { Toast.makeText(context, "Votre Pet est heureux de vous revoir !" , Toast.LENGTH_LONG).show(); Intent serviceIntent = new Intent(context, KernelService.class); context.startService(serviceIntent); } }
Est-ce une sécurité ?
P.S: Après un essai par coïncidence sur ma tablette Samsung cela fonctionne mais pourquoi pas sur le smartphone... c'est la même version d'android la 6.0
Pourtant des logiciels comme l'antivirus sur mon téléphone se lance bien au démarrage c'est bien que cela est possible ?
Cordialement,
Partager