我正在與MIT App Inventor和activity starter
組件一起工作。如何獲取android程序詳細信息,如包名稱和其他
我必須知道應用程序類,包詳細信息和其他信息,那麼如何獲取所有應用程序的所有信息?
此外,我想發送短信使用從ICQ信使activity starter
到特定聯繫人。我怎樣才能做到這一點?
我正在與MIT App Inventor和activity starter
組件一起工作。如何獲取android程序詳細信息,如包名稱和其他
我必須知道應用程序類,包詳細信息和其他信息,那麼如何獲取所有應用程序的所有信息?
此外,我想發送短信使用從ICQ信使activity starter
到特定聯繫人。我怎樣才能做到這一點?
這裏是類名ApplicationInfo Developer doc link它給你的應用程序的大部分細節(安裝在手機中)。
您可以通過以下方法獲取手機中安裝的應用程序列表。
PackageManager pm = getPackageManager();
List<ApplicationInfo> apps = pm.getInstalledApplications(0);
您可以通過循環上面的列表來獲取應用信息。對於packageName,可以遵循以下代碼。
for (ApplicationInfo packageInfo : apps) {
//Package Name
String temp = packageInfo.packageName;
}
你可以的方法從PackageManger得到這個信息:
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
}
對於應用發明這是在文檔中解釋說:Using the Activity Starter
發現如何設置ActivityStarter性能
如果您想啓動一個應用程序,並且您沒有源代碼或 文檔,則可能仍然可以通過啓動應用程序和 檢查包名和 類名(有時是意圖) Android系統日誌。例如,如果您使用YouTube應用 播放視頻,你會在日誌中看到:
I/ActivityManager(86):啓動活動:意向{ 行爲= android.intent.action.VIEW DAT = 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軟件(見http://appinventor.mit.edu/explore/ai2/setup-emulator.html),你已經擁有你需要使用logcat的一切.. 。