2015-09-28 2 views
0

Я все еще новичок в Android Development, и я собираюсь выпустить свое первое приложение в игровой магазин google.Совместное использование ссылки моего приложения

У меня есть кнопка в приложении, которая является кнопкой общего доступа. Когда пользователь нажимает на него, я хочу, чтобы он передал ссылку на игру google моего приложения. Но я не знаю, как получить ссылку на мою игру Google для моего приложения.

В строке shareBody я хочу, чтобы она содержала ссылку для игры Google для моего приложения. Я получил следующий код с этого веб-сайта, поэтому я действительно не понимаю, что происходит: P.

public void ShareClick(View view){ 
    Intent sharingIntent = new Intent(android.content.Intent.ACTION_SEND); 
    sharingIntent.setType("text/plain"); 
    String shareBody = "https://play.google.com/store"; 
    sharingIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "Download XXXXXX"); 
    sharingIntent.putExtra(android.content.Intent.EXTRA_TEXT, shareBody); 
    startActivity(Intent.createChooser(sharingIntent, "Share via")); 
} 

например:

String shareBody = "https://play.google.com/store"; 

Что я хочу:

String shareBody = "google play link of my app"; 

Может кто-нибудь пожалуйста, скажите мне, что я должен делать?

PS Во время тестирования моего приложения на моем телефоне, всякий раз, когда я иду в главном меню или при нажатии кнопки многозадачности, а затем вернуться в моем приложении, он выходит из строя

Что я могу сделать, чтобы предотвратить это? Бесконечно благодарен!

+0

Установите этот флажок Http: // StackOverflow .com/questions/11753000/how-to-open-the-go-play-store-direct-from-my-android-приложение – Emil

ответ

0

Проверьте ссылку Boss отправил, чтобы помочь вам понять, как запустить Play магазин через Intent.

Что касается причины сбоя вашего приложения при нажатии на дом или многозадачности, это, скорее всего, потому, что вы не правильно управляете жизненным циклом своей деятельности. Я предполагаю, что происходит то, что ваше приложение выходит из переднего плана, и его состояние не сохраняется (вы не сохраняете определенные данные в onPause() или onStop(). Когда ваше приложение возвращается на передний план, оно пытается получить доступ к данным ., которая больше не существует, так как вы не загружается, что данные из OnStart() или onResume() Выкладываю StackTrace поэтому мы можем видеть ошибку, и прочитать: http://developer.android.com/reference/android/app/Activity.html

+0

Мое приложение состоит из кнопок, которые при нажатии на них приходят забавные звуки. Мой код содержит кнопки для кликов кнопок , совместное намерение, метод, который останавливает текущий звук в медиаплеере при нажатии другой кнопки (чтобы воспроизвести звук этой кнопки) и, наконец, этот метод: @Override protected void onPause() { super.onPause(); mp.release(); } Как улучшить этот код? – Karan

+0

Отправьте код. Я посмотрю, смогу ли я помочь. Просто очень общее предположение, я бы сказал, что что-то с вашим MediaPlayer обрабатывается неправильно. –

+0

Я отправил свой код ниже в качестве ответа. Я не уверен, правильно ли код моего рекламного баннера и код совместного использования намерений? :/Я следил за рекомендациями на сайте разработчика Google о том, как добавлять баннеры в приложение, но у меня есть ощущение, что это может быть неправильно, потому что я видел, как люди делали это немного по-другому в учебных пособиях YouTube. – Karan

1

использовать имя пакета вместо ссылки Somthing как этот
market://details?id=" + context.getPackageName()

0
package com.example.narula.funnysounds; 

import android.content.Intent; 
import android.media.MediaPlayer; 
import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import android.view.View; 
import com.google.android.gms.ads.AdRequest; 
import com.google.android.gms.ads.AdView; 

public class MainActivity extends AppCompatActivity { 
MediaPlayer mp; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    AdView mAdView = (AdView) findViewById(R.id.adView); 
    AdRequest adRequest = new AdRequest.Builder().build(); 
    mAdView.loadAd(adRequest); 

    android.support.v7.app.ActionBar actionbar=getSupportActionBar(); 
    actionbar.hide(); 
} 

@Override 
protected void onPause() { 
    super.onPause(); 
    mp.release(); 
} 

private void stopPlaying() { 
    if (mp != null) { 
     mp.stop(); 
     mp.release(); 
     mp = null; 
    } 
} 
public void funnyClick1(View view) { 
    stopPlaying(); 
    mp = MediaPlayer.create(this, R.raw.funny1); 
    mp.start(); 
} 
public void funnyClick2(View view){ 
    stopPlaying(); 
    mp=MediaPlayer.create(this,R.raw.funny2); 
    mp.start(); 
} 
public void funnyClick3(View view) { 
    stopPlaying(); 
    mp= MediaPlayer.create(this, R.raw.funny3); 
    mp.start(); 
} 
public void funnyClick4(View view) { 
    stopPlaying(); 
    mp = MediaPlayer.create(this, R.raw.funny4); 
    mp.start(); 
} 
public void funnyClick5(View view) { 
    stopPlaying(); 
    mp = MediaPlayer.create(this, R.raw.funny5); 
    mp.start(); 
} 
public void funnyClick6(View view) { 
    stopPlaying(); 
    mp = MediaPlayer.create(this, R.raw.funny6); 
    mp.start(); 
} 
public void funnyClick7(View view) { 
    stopPlaying(); 
    mp = MediaPlayer.create(this, R.raw.funny7); 
    mp.start(); 
} 
public void SuperfunnyClick1(View view){ 
    stopPlaying(); 
    mp= MediaPlayer.create(this,R.raw.Sfunny1); 
    mp.start(); 
} 
public void Superfunny2(View view){ 
    stopPlaying(); 
    mp= MediaPlayer.create(this,R.raw.Sfunny2); 
    mp.start(); 
} 
public void ShareClick(View view){ 
    Intent sharingIntent = new Intent(android.content.Intent.ACTION_SEND); 
    sharingIntent.setType("text/plain"); 
    String shareBody = "market://details?id=com.example.narula.funnysounds"; 
    sharingIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "Download Funny Sounds"); 
    sharingIntent.putExtra(android.content.Intent.EXTRA_TEXT, shareBody); 
    startActivity(Intent.createChooser(sharingIntent, "Share via")); 
    } 
} 
Смежные вопросы