2015-06-10 5 views
0

Я работаю с MIT App Inventor и activity starter.Как получить информацию о приложении Android, как название пакета и другие

Я должен знать класс приложения, деталь пакета и другие, так как я могу получить всю эту информацию для любого приложения?

Кроме того, я хочу отправить SMS с помощью activity starter из ICQ-мессенджера в конкретный контакт. Как я могу это сделать?

ответ

0

Вот имя класса ApplicationInfo Developer doc link, которое дает вам большую часть деталей приложения (установленного в телефоне).

Вы можете получить список приложений, установленных в телефоне, методом ниже.

PackageManager pm = getPackageManager(); 
List<ApplicationInfo> apps = pm.getInstalledApplications(0); 

Вы можете получить информацию об использовании, перейдя по списку выше. Для packageName может следовать ниже код.

for (ApplicationInfo packageInfo : apps) { 
     //Package Name 
     String temp = packageInfo.packageName; 
    } 
0

Вы можете получить эту информацию от PackageManager:

 final PackageManager pm = context.getPackageManager(); 
     // get a list of installed apps. 
     List<ApplicationInfo> packages = pm.getInstalledApplications(0); 

     // loop through the list of installed packages and see if the selected 
     // app is in the list 
     for (ApplicationInfo packageInfo : packages) { 

      //Get Package Name 
      String packageName=packageInfo.packageName; 

      // get the UID for the selected app 
      int UID = packageInfo.uid; 

      ApplicationInfo app = null; 
      try { 
       app = pm.getApplicationInfo(packageName, 0); 
      } catch (PackageManager.NameNotFoundException e) { 
       // TODO Auto-generated catch block 
       e.printStackTrace(); 
      } 

      //Get App Name 
      String appName=pm.getApplicationLabel(app); 

     //likewise you can get other information 
     } 
1

Для App Inventor это объясняется в документации: Using the Activity Starter

Открывать как установить свойства ActivityStarter

Если вы хотите запустить приложение и у вас нет исходного кода или документации, вы все равно сможете определить имя пакета и имя класса (а иногда и намерение), запустив приложение и проверив системный журнал Android. Например, если вы используете приложение YouTube для воспроизведения видео, вы увидите в журнале:

I/ActivityManager (86): Начиная активность: Намерение { акт = android.intent.action.VIEW Дат = vnd.youtube: nAPk9ycCbfc CMP = com.google.android.youtube/.PlayerActivity}

Если вы можете найти "CMP =" строка, то ActivityPackage является часть перед косой чертой, например, com.google.android.youtube. ActivityClass - это полная часть «cmp =», без символа косой черты , например, com.google.android.youtube.PlayerActivity. Там также может быть, как правило, «dat =» информацией, которая должна быть указана как свойство DataUri.

Как использовать LogCat

Я обычно использую Eclipse в и LogCat там, но если вы установили Inventor Software App (также см http://appinventor.mit.edu/explore/ai2/setup-emulator.html), у вас уже есть все, что нужно использовать LogCat .. ,

  1. подключить устройство с помощью USB с компьютером в File Manger
  2. перейти в каталог Inventor App, который является C: \ Program Files \ App Inventor или аналогичный
  3. Нажмите Shift и правой кнопкой мыши нажмите подкатлог команд-для-Appinventor, чтобы получить контекстное меню
  4. выберите «Открыть окно команд здесь», и вы получите окно командной строки из этого подкаталога
  5. введите ADB LogCat и LogCat начнет бежать ning