Есть ли список всех названий пакетов приложений для обмена сообщениями для всех конструкторов телефонов Android? - PullRequest
1 голос
/ 05 декабря 2011

Альтернативно, есть ли простой способ узнать имя пакета системного приложения?

Ответы [ 3 ]

4 голосов
/ 01 апреля 2015

Я только что разрабатывал блокировщик приложений, в котором есть категория для важного приложения, чтобы предложить пользователю заблокировать их. и, очевидно, приложение SMS по умолчанию является важным приложением для блокировки. поэтому я создаю свой собственный список имен пакетов приложений по умолчанию для sms. Я надеюсь, что это будет полезно для вас, и другие помогут мне улучшить этот список:

"com.google.android.apps.messaging"
"com.jb.gosms"
"com.concentriclivers.mms.com.android.mms"
"fr.slvn.mms"
"com.android.mms"
"com.sonyericsson.conversations"
0 голосов
/ 05 декабря 2011

да, вы можете получить

public class ListofAppinMyDevice {
    public class PInfo {   
        public String appname = "";   
        public String pname = "";   
        public String versionName = "";   
        public int versionCode = 0;   
    }   

    public ArrayList<PInfo> getInstalledApps(boolean getSysPackages) 
    {   
    ArrayList<PInfo> res = new ArrayList<PInfo>();        

    List<PackageInfo> packs = AppUtils.mContext.getPackageManager().getInstalledPackages(0);   
    for(int i=0;i<packs.size();i++) {   
        PackageInfo p = packs.get(i);

        ApplicationInfo s=p.applicationInfo;

        if(((s.flags & ApplicationInfo.FLAG_SYSTEM)!=1))
        {

        PInfo newInfo = new PInfo();

        newInfo.appname = p.applicationInfo.loadLabel(AppUtils.mContext.getPackageManager()).toString();   
        newInfo.pname = p.packageName;   
        newInfo.versionName = p.versionName;   
        newInfo.versionCode = p.versionCode;   
         System.out.println("3rd party apps-------------------"+p.packageName +"--------"+newInfo.appname);
        res.add(newInfo);  
        }

        if ((!getSysPackages) ) {   
            continue ;   
        }   

    }   
    return res;    
}  

}

// вы можете получить приложение, установленное системой, используя следующий метод

  public static void listPackages() {   
            ListofAppinMyDevice getmyApp=new ListofAppinMyDevice();

            apps =getmyApp.getInstalledApps(true); 
/* false = will get 3rd part package detials 
true -will get all system packages */  
            System.out.println("Total InstalledApps in your device--=="+apps.size());
            final int max = apps.size();   
            applist=new StringBuilder();
            for (int i=0; i<max; i++) {   
                String packageName=apps.get(i).pname;


    }
0 голосов
/ 05 декабря 2011

Что именно вы пытаетесь сделать?В качестве альтернативы, зачем вам такой список?

В качестве общего совета не следует кодировать что-либо в соответствии со статическим списком, потому что все, что связано с этим списком, вероятно, будет развиваться.

...