Skocz do zawartości
gumis824

Uruchomienie innej aplikacji

    Rekomendowane odpowiedzi

    Witam, mam pytanie, czy jest możliwość uruchomienia jakiejś aplikacji klikając np. button w moim programie? Naprzykład zainastalowałem Dolphin Browser HD i chciałbym ją uruchomić z poziomu mojej aplikacji. Szukałem w googlach, ale zero rezulatów, nawet za bardzo nie mam pojęcia jak to zatytułować.

    Pozdrawiam, a;)

    Udostępnij tę odpowiedź


    Odnośnik do odpowiedzi
    Udostępnij na innych stronach
    gzajac

    Jeśli tylko znasz: 1) pełną nazwę pakietu aplikacji, 2) nazwę klasy implementującej startowe Activity tej aplikacji (to prawdopodobnie można programowo wyłuskać) to rozwiązanie jest następujące (nazwa pakietu i klasy przykładowa):

    Intent i = new Intent("android.intent.action.MAIN");
    ComponentName n = new ComponentName("com.androidex.gpwnotowania", "com.androidex.gpwnotowania.MyStockList");
    i.setComponent(n);
    startActivity(i);

    Wygląda na to że da się jeszcze prościej (dokumentacja jest niezastapiona):

    Intent i = context.getPackageManager().getLaunchIntentForPackage("com.androidex.gpwnotowania");
    startActivity(i);

    Edytowane przez gzajac

    Udostępnij tę odpowiedź


    Odnośnik do odpowiedzi
    Udostępnij na innych stronach

    Wielkie dzięki a;)

    Wszystko pięknie działa :P

    Można zamknąć.

    Udostępnij tę odpowiedź


    Odnośnik do odpowiedzi
    Udostępnij na innych stronach
    gzajac

    Zbankrutujesz za piwa :D

    Udostępnij tę odpowiedź


    Odnośnik do odpowiedzi
    Udostępnij na innych stronach

    A ja mam jeszcze jedno pytanie... W związku z tym, że dopiero się uczę mógłby mi ktoś wytłumaczyć jak wykorzystać powyższy przykład? Tak dokładniej troszkę ;)

    P.s. Najlepiej jakiś przykładowy projekcik bo na tym się najbardziej uczę ;)

    Udostępnij tę odpowiedź


    Odnośnik do odpowiedzi
    Udostępnij na innych stronach
    gzajac
    Najlepiej jakiś przykładowy projekcik bo na tym się najbardziej uczę

    Może powinieneś najpierw samemu poszukać w googlach - ja w minutę znalazłem kilka przykładów.

    Jak już poszukasz i nic nie znajdziesz to zobacz: Launching external applications in Android — blog of krishnaraj varma

    Edytowane przez gzajac

    Udostępnij tę odpowiedź


    Odnośnik do odpowiedzi
    Udostępnij na innych stronach

    Trochę szukałem ale tego nie znalazłem bo wpisywałem to inaczej... Dzięki wielkie za pomoc ;]

    P.s. Tak btw to identycznie się nazywamy panie Grzegorzu xD

    Edytowane przez Grzesieq94

    Udostępnij tę odpowiedź


    Odnośnik do odpowiedzi
    Udostępnij na innych stronach
    gzajac
    Tak btw to identycznie się nazywamy panie Grzegorzu

    Niezle :)

    Udostępnij tę odpowiedź


    Odnośnik do odpowiedzi
    Udostępnij na innych stronach

    Stwierdziłem właśnie, że i tak jestem ciemna masa bo nie potrafię przerobić tego kodu bo on wyświetla wszystkie aplikacje, a ja chciałbym tylko te które wpisze :/

    Na przykład mam taki kod:

    package com.example.hellol10n;

    import android.app.Activity;

    import android.app.AlertDialog;

    import android.content.DialogInterface;

    import android.os.Bundle;

    import android.view.View;

    import android.widget.Button;

    public class HelloL10N extends Activity {

    /** Called when the activity is first created. */

    @Override

    public void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    setContentView(R.layout.main);

    // assign flag.png to the button, loading correct flag image for current locale

    Button b;

    (b = (Button)findViewById(R.id.flag_button)).setBackgroundDrawable(this.getResources().getDrawable(R.drawable.flag));

    // build dialog box to display when user clicks the flag

    AlertDialog.Builder builder = new AlertDialog.Builder(this);

    builder.setMessage(R.string.dialog_text)

    .setCancelable(false)

    .setTitle(R.string.dialog_title)

    .setPositiveButton("Done", new DialogInterface.OnClickListener() {

    public void onClick(DialogInterface dialog, int id) {

    dialog.dismiss();

    }

    });

    final AlertDialog alert = builder.create();

    // set click listener on the flag to show the dialog box

    b.setOnClickListener(new View.OnClickListener() {

    public void onClick(View v) {

    alert.show();

    }

    });

    }

    }

    Jest to przykład z developer.android.com plik HelloL10N.java... I teraz jak wrzucić Intent i = context.getPackageManager().getLaunchIntentForPackage("com.androidex.gpwnotowania");

    startActivity(i); pod ten przycisk?

    Edytowane przez Grzesieq94

    Udostępnij tę odpowiedź


    Odnośnik do odpowiedzi
    Udostępnij na innych stronach

    Jeśli ktoś by potrzebował to kod wygląda tak: (przykładowy oczywiście)

    package com.example.hellol10n;

    import android.app.Activity;

    import android.content.ComponentName;

    import android.content.Intent;

    import android.os.Bundle;

    import android.view.View;

    import android.widget.Button;

    public class HelloL10N extends Activity {

    @Override

    public void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    setContentView(R.layout.main);

    Button b ;

    (b = (Button)findViewById(R.id.flag_button)).setBackgroundDrawable(this.getResources().getDrawable(R.drawable.flag));

    b.setOnClickListener(new View.OnClickListener() {

    @Override

    public void onClick(View view) {

    Intent i = new Intent("android.intent.action.MAIN");

    ComponentName n = new ComponentName("com.android.settings", "com.android.settings.WirelessSettings");

    i.setComponent(n);

    startActivity(i);

    }

    });

    }

    }

    Z

    Intent i = context.getPackageManager().getLaunchIntentForPackage("com.androidex.gpwnotowania");

    startActivity(i);

    nie udało mi się zrobić bo ciągle wywalało mi błąd przy context ;]

    Udostępnij tę odpowiedź


    Odnośnik do odpowiedzi
    Udostępnij na innych stronach

    Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

    Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

    Zarejestruj nowe konto

    Załóż nowe konto. To bardzo proste!

    Zarejestruj się

    Zaloguj się

    Posiadasz już konto? Zaloguj się poniżej.

    Zaloguj się

    • Ostatnio przeglądający   0 użytkowników

      Brak zarejestrowanych użytkowników przeglądających tę stronę.

    x