views:

28

answers:

1

The app I'm currently developing depends on a third party application (OIFileManager).

My question is what is the general way to handle these kind of dependancies?

Tell the user to resolve it?

Embed the 3d-party apk (if its license allows it)

Automatically resolve it (maybe android market has a system for it).

Thanks!

+1  A: 

There's no automatic way. The user will have to install the dependency from Android Market (or some other source) manually.

Intent scanIntent = new Intent("com.google.zxing.client.android.SCAN");
Intent marketIntent = new Intent(ACTION_VIEW, Uri.parse("market://details?id=com.google.zxing.client.android"));

try {
    startActivityForResult(scanIntent);
} catch (ActivityNotFoundException e) {
    try {
        // show a prompt here
        startActivity(marketIntent);
    } catch (ActivityNotFoundException e) {
        Toast.makeText(this, "Market not installed.", LENGTH_SHORT).show();
    }

}

So you:

  • try to launch the scanner;
  • if fails, prompt user to install it from Android Market;
  • if fails, the Market is not installed.
alex
Thank you, that was what I suspected.
monoceres