Bonjour,
J'ai une petite application qui se lance au boot du téléphone.
Par contre, dès que j'installe une autre application, mon appli se relance automatiquement, ce que je ne veux pas.
Avec mes remerciements pour votre aide.
Bernard
Voilà mes fichiers :
AndroidManifest.xml:
BootReceiver.java :
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 <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.survey.trike.myapplication"> <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="Startatboot" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/AppTheme"> <activity android:name=".MainActivity" android:icon="@mipmap/ic_launcher" android:roundIcon="@mipmap/ic_launcher_round" android:label="Startatboot"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <receiver android:name="com.survey.trike.myapplication.BootReceiver" android:enabled="true" android:label="Startatboot" android:exported="false" > <intent-filter> <action android:name="android.intent.action.BOOT_COMPLETED" /> </intent-filter> <intent-filter> <action android:name="android.intent.action.PACKAGE_REPLACED" /> <data android:scheme="package" /> </intent-filter> <intent-filter> <action android:name="android.intent.action.PACKAGE_ADDED" /> <data android:scheme="package" /> </intent-filter> </receiver> </application> </manifest>
MainActivity.java :
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 package com.survey.trike.myapplication; import android.content.Context; import android.content.Intent; import com.survey.trike.myapplication.MainActivity; /** * Created by Trike on 15/03/2017. */ public class BootReceiver extends android.content.BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { Intent i = new Intent(context, MainActivity.class); i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(i); } }
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
52
53
54
55
56
57
58
59
60
61
62
63 package com.survey.trike.myapplication; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.widget.TextView; import android.content.Intent; import android.content.pm.PackageManager; import android.content.pm.ApplicationInfo; import java.util.List; import java.util.ArrayList; import android.widget.Toast; import java.lang.*; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); PackageManager packageManager = getPackageManager(); List<ApplicationInfo> list = packageManager.getInstalledApplications(PackageManager.GET_META_DATA); ArrayList<ApplicationInfo> applist = new ArrayList<ApplicationInfo>(); final String TAG = "Startatboot "; Intent i; String str1="callmanagerandroid"; String str2="broadcastreceiver"; String str3="stay.alive"; Integer Flag=0; for (ApplicationInfo info : list) { try { if (null != packageManager.getLaunchIntentForPackage(info.packageName)) { applist.add(info); Flag=0; if(info.packageName.indexOf(str1)!=-1) { Flag=1; } if(info.packageName.indexOf(str2)!=-1) { Flag=1; } if(info.packageName.indexOf(str3)!=-1) { Flag=1; } if(Flag!=0) { Flag=0; //Toast.makeText(getApplicationContext(), "TROUVE:"+info.packageName,Toast.LENGTH_LONG).show(); try { i = getPackageManager().getLaunchIntentForPackage(info.packageName); if (i == null) throw new PackageManager.NameNotFoundException(); i.addCategory(Intent.CATEGORY_LAUNCHER); startActivity(i); } catch (PackageManager.NameNotFoundException e) { Toast.makeText(getApplicationContext(), "NON TROUVE:"+info.packageName,Toast.LENGTH_LONG).show(); } } } } catch (Exception e) { e.printStackTrace(); } } } }
Partager