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).
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.
来源:https://stackoverflow.com/questions/3276921/how-to-handle-app-dependencies-to-3d-party