1

It is possible to parse some information from the apk file using a tool as mentioned here:

How to parse the AndroidManifest.xml file inside an .apk package

My requirement is to parse information like Application name,description, image urls from a link like :

market://details?id=com.replica.replicaisland

  • Is there any standard way to parse this information without having the apk file ?

  • is there any RSS feed available based on the identifier "com.replica.replicaisland" ?

Community
  • 1
  • 1
DhruvPathak
  • 42,059
  • 16
  • 116
  • 175

3 Answers3

3

There is an open source library android-market-api created by some developers which allow you retrieve some basic app info directly from google's official android market, worth to check it out.

yorkw
  • 40,926
  • 10
  • 117
  • 130
1

For the first thing you could just download the webpage from the web browser version of the link which would be https://market.android.com/details?id=com.replica.replicaisland From there you could parse through the source of the page in your own creative way.

As with RSS feed, no clue.

user1132959
  • 978
  • 8
  • 16
  • 1
    That is a possibility, but a difficult and non generic way,my parser would always have to keep track of current structure of market webpages. – DhruvPathak Jan 06 '12 at 08:28
  • I am afraid, that **any** look onto market pages, through any instrument, "would always have to keep track of current structure of market webpages", however sad it is. And you will have to wait for a new vwersion of instrument, too. +1 to answer. – Gangnus Jan 14 '12 at 22:02
0

You may want to check out PackageManager and ApplicationInfo to see if it has everything you need.

final PackageManager pm = getPackageManager();

List<ApplicationInfo> packages = pm.getInstalledApplications(PackageManager.GET_META_DATA);

for (ApplicationInfo packageInfo : packages) {
    Log.d(TAG, "Installed package :" + packageInfo.packageName);
    Log.d(TAG, "Launch Activity :" + pm.getLaunchIntentForPackage(packageInfo.packageName)); 

    try {
        ApplicationInfo appInfo = pm.getApplicationInfo(packageInfo.packageName, 0);
        String appFile = appInfo.sourceDir;

        long installed = new File(appFile).lastModified();              
        Log.d(TAG, "lastModified = " + installed);

        //Drawable icon = appInfo.loadIcon(pm);
        //Bitmap bitmap = ((BitmapDrawable)icon).getBitmap();               
    }           
    catch (PackageManager.NameNotFoundException e) {
        e.printStackTrace();
    }
} 
ciscogambo
  • 1,160
  • 11
  • 18