2013-07-05 11 views
14

Ich möchte eine Schaltfläche in meinem Spiel hinzufügen, die eine URL zu meiner App im Play Store öffnet. Unten ist das, was ich bisher bekommen habe, aber wenn ich auf den Rate-Button klicke, öffnet sich die entsprechende URL nicht.Hinzufügen einer Schaltfläche "Meine App bewerten" im libgdx-Spiel

Mein Preiscode ist:

if(Gdx.input.justTouched()){ 
    guiCam.unproject(touchPoint.set(Gdx.input.getX(),Gdx.input.getY(), 0)); 

    if(OverlapTester.pointInRectangle(rateButtonBound, touchPoint.x, touchPoint.y)){ 
     try { 
      Process p = Runtime.getRuntime().exec("cmd /c start https://play.google.com/store/apps/details?id=com.shagunstudios.racinggame"); 
     } 
     catch (IOException e1) { 
      System.out.println(e1); 
     } 

     if(Settings.soundEnabled) 
      Assets.click_sound.play(1.0f); 

     return; 
    } 
} 

Antwort

37

Sie wirklich openURI Methode im Net-Modul werden sollte.

Etwas wie:

Gdx.net.openURI("https://play.google.com/store/apps/details?id=com.shagunstudios.racinggame"); 

exec ist wahrscheinlich nicht Cross-Plattform und wird zumindest auf Android nicht funktionieren.
Erfinden Sie das Rad nicht neu.

+0

Funktioniert nicht auf Android oder Desktop –

+0

Möchten Sie weitere Details zur Verfügung stellen? –

+0

Uhm arbeitet jetzt, ich weiß nicht, warum ich Crash vor –

0

ein Verfahren Setzen Sie Code wie folgt enthält:

Intent i = new Intent(Intent.ACTION_VIEW); 
i.setData(Uri.parse("https://play.google.com/whateveryoururlis")); 
this.startActivity(i); 

in Ihrem Android-Back-End (in der Klasse, die die Libgdx AndroidApplication erstreckt). Stellen Sie diese Methode dann Ihrem plattformunabhängigen Libgdx-Code mithilfe einer Schnittstelle zur Verfügung (und stellen Sie Platzhalterimplementierungen auf Ihren anderen Backends bereit). Einzelheiten finden Sie unter https://code.google.com/p/libgdx/wiki/ApplicationPlatformSpecific.

+2

Alternativ können Sie anrufen [openURI] (http://libgdx.badlogicgames.com/nightlies/docs/api/com/badlogic/gdx/Net.html#openURI (java.lang.String)) was tatsächlich die identische Sache in Android-Backend-Implementierung tut wenn Sie sich die [Quelle] ansehen (https://github.com/libgdx/libgdx/blob/master/backends/gdx-backend-android/src/com/badlogic/gdx/backends/android/AndroidNet.java). –

Verwandte Themen