UFC Insider
UFC Insider

Reputation: 838

How to open the Amazon AppStore directly from my Android application?

I have seen answers regarding Amazon Appstore from iPhone but not from Android. I'm trying to make a button that will open the Amazon Appstore (for android) on my app's page.

Here is how it's done for Google Play:

final String appPackageName = context.getPackageName();

try {
    activity.startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=" + appPackageName)); 
} catch (android.content.ActivityNotFoundException e) {
    activity.startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("https://play.google.com/store/apps/details?id=" + appPackageName));
}

How should I replace the Strings so that it works "the same" for the Amazon AppStore?

Upvotes: 4

Views: 2765

Answers (2)

OneCricketeer
OneCricketeer

Reputation: 191743

The Amazon app store URI is

amzn://apps/android?

Directing to a particular app would look like

amzn://apps/android?p=com.amazon.mp3

Source: Linking To the Amazon Appstore for Android

Upvotes: 7

Ruchir Baronia
Ruchir Baronia

Reputation: 7571

Look into WebViews. It does exactly what you want, you can open a page in your own app. Simply define a webview in the xml, and use the java to display the page.

How to do it without webview:

(From docs)

By default, a WebView provides no browser-like widgets, does not enable JavaScript and web page errors are ignored. If your goal is only to display some HTML as a part of your UI, this is probably fine; the user won't need to interact with the web page beyond reading it, and the web page won't need to interact with the user. If you actually want a full-blown web browser, then you probably want to invoke the Browser application with a URL Intent rather than show it with a WebView. For example:

Uri uri = Uri.parse("http://www.example.com");
 Intent intent = new Intent(Intent.ACTION_VIEW, uri);
 startActivity(intent);

With webview:

 webview.loadUrl("http://slashdot.org/");

 // OR, you can also load from an HTML string:
 String summary = "<html><body>You scored <b>192</b> points.</body></html>";
 webview.loadData(summary, "text/html", null);

Let me know if this works by commenting.

Upvotes: 1

Related Questions