Saya memiliki tautan aplikasi saya yang lain di aplikasi terbaru saya, dan saya membukanya dengan cara itu.
Uri uri = Uri.parse("url");
Intent intent = new Intent (Intent.ACTION_VIEW, uri);
startActivity(intent);
Kode ini membuka versi browser google play store.
Ketika mencoba untuk membuka dari ponsel saya, ponsel meminta jika saya ingin menggunakan browser atau google play dan jika saya memilih yang kedua itu membuka versi mobile dari google play store.
Bisakah Anda memberi tahu saya bagaimana ini bisa terjadi sekaligus? Maksud saya tidak bertanya kepada saya tetapi langsung membuka versi seluler google play, yang saya lihat saat membukanya langsung dari ponsel.
android
google-play
hantu pengendara
sumber
sumber
market://
protokolnya. Adakah orang lain yang melihat perilaku ini?Jawaban:
Anda akan ingin menggunakan
market
protokol yang ditentukan :final String appPackageName = "com.example"; // Can also use getPackageName(), as below startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=" + appPackageName)));
Perlu diingat, ini akan mogok di perangkat apa pun yang tidak menginstal Market (emulator, misalnya). Oleh karena itu, saya menyarankan sesuatu seperti:
final String appPackageName = getPackageName(); // getPackageName() from Context or Activity object try { startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=" + appPackageName))); } catch (android.content.ActivityNotFoundException anfe) { startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("http://play.google.com/store/apps/details?id=" + appPackageName))); }
Saat menggunakan
getPackageName()
dariContext
atau subkelasnya untuk konsistensi (terima kasih @cprcrack !). Anda dapat menemukan lebih banyak tentang Maksud Pasar di sini: tautan .sumber
market://details?id=com.PandoraTV
(anggap ini adalah aplikasi yang Anda inginkan).market://
awalan dari aplikasi Anda sendiri, bukan dari situs web melalui browser. Saya dapat membuktikan fungsinya (pada versi 2.3, 3.x, 4.0, 4.1, dan 4.2) dan berfungsi dengan browser stok, Chrome Beta 25, dan Chrome 18.getPackageName()
untuk mengambil id aplikasi secara otomatis.Kode di bawah ini dapat membantu Anda untuk menampilkan tautan aplikasi google play sakit di versi seluler.
Untuk tautan Aplikasi:
Uri uri = Uri.parse("market://details?id=" + mContext.getPackageName()); Intent myAppLinkToMarket = new Intent(Intent.ACTION_VIEW, uri); try { startActivity(myAppLinkToMarket); } catch (ActivityNotFoundException e) { //the device hasn't installed Google Play Toast.makeText(Setting.this, "You don't have Google Play installed", Toast.LENGTH_LONG).show(); }
Untuk tautan Pengembang:
Uri uri = Uri.parse("market://search?q=pub:" + YourDeveloperName); Intent myAppLinkToMarket = new Intent(Intent.ACTION_VIEW, uri); try { startActivity(myAppLinkToMarket); } catch (ActivityNotFoundException e) { //the device hasn't installed Google Play Toast.makeText(Settings.this, "You don't have Google Play installed", Toast.LENGTH_LONG).show(); }
sumber
Anda dapat menggunakan pustaka Maksud Android untuk membuka halaman aplikasi Anda di Google Play seperti itu:
sumber
Dokumentasi di d.android.com: http://developer.android.com/distribute/googleplay/promote/linking.html
sumber
Anda dapat memeriksa apakah aplikasi Google Play Store telah diinstal dan, jika demikian, Anda dapat menggunakan protokol "market: //" .
final String my_package_name = "........." // <- HERE YOUR PACKAGE NAME!! String url = ""; try { //Check whether Google Play store is installed or not: this.getPackageManager().getPackageInfo("com.android.vending", 0); url = "market://details?id=" + my_package_name; } catch ( final Exception e ) { url = "https://play.google.com/store/apps/details?id=" + my_package_name; } //Open the app page in Google Play store: final Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url)); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET); startActivity(intent);
sumber
Buka halaman aplikasi di Google Play:
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=" + context.getPackageName())); startActivity(intent);
sumber