2011-12-23 26 views
11

W mojej aplikacji jest układ kart. i dwie zakładki.Jak uruchamiać aplikacje na Androida w mojej aplikacji na Androida?

  • Zakładka 1 - moja aplikacja enter image description here
  • tab 2 - wszelkie poza android aplikacja (jak Kontakty, zadzwoń dialer itp ..) (wiem jak uruchomić aplikację na zewnątrz, ale jej nie uruchomiony w ciągu mojego wniosku (oznacza, że ​​zakładka nie wyświetli się po uruchomieniu )).

góry dzięki

+0

Przeczytaj o klasie Intent i dowiedz się, jakie są działania, a rozwiążesz problem. Nie udzielimy ci odpowiedzi. Zrozum sposób działania systemu intent Android, a następnie będzie sos. – JoxTraex

+5

@JoxTraex Czy to możliwe, o co pyta? potem muszę przeczytać Intent ponownie – ingsaurabh

+0

czy to możliwe? Wątpię w to . Możesz uruchomić inną aplikację ze swojej aplikacji, ale uruchamiasz ją w widoku wygenerowanym przez pierwszą aplikację? –

Odpowiedz

0

odczytu doc ​​(sekcja intencją), niektóre przykładowe:

public class MyTab extends TabActivity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

     final TabHost tabHost = getTabHost(); 

     Intent taskIntent = new Intent(this, Public.class); 
     taskIntent.putExtra(Intent.ACTION_VIEW, "public"); 

     TabHost.TabSpec tsValid = tabHost.newTabSpec("public"); 
     tsValid.setIndicator(getText(R.string.tab_title_public)); 
     tsValid.setContent(taskIntent); 

     tabHost.addTab(tsValid); 

     Intent annIntent = new Intent(this, Private.class); 
     annIntent.putExtra(Intent.ACTION_VIEW, "private"); 

     TabHost.TabSpec tsGenerate = tabHost.newTabSpec("private"); 
     tsGenerate.setIndicator(getText(R.string.tab_title_private)); 
     tsGenerate.setContent(annIntent); 

     tabHost.addTab(tsGenerate); 
    } 

} 
12

I może źle zrozumieć, ale chyba utworzone wyraźny intents (pracował z innymi aplikacjami dewelopera lub utworzyłeś inną aplikację, którą chcesz umieścić), to nie będzie możliwe.

Każda aplikacja Android działa w piaskownicy: http://developer.android.com/guide/topics/security/security.html

Szczególnie:

Ponieważ Piaskownice Android aplikacje od siebie, aplikacje musi wyraźnie współdzielenie zasobów i danych. Robią to, deklarując, że mają niezbędne uprawnienia do dodatkowych funkcji, które nie są dostarczane przez podstawowe środowisko testowe. Aplikacje statycznie deklarują wymagane uprawnienia, a system Android monituje użytkownika o zgodę na w momencie instalacji aplikacji. Android nie ma mechanizmu umożliwiającego dynamiczne udzielanie zezwoleń (w czasie wykonywania), ponieważ komplikuje ono obsługę użytkownika ze szkodą dla bezpieczeństwa.

Dlatego nie będzie to możliwe. Na początku wydaje się to błędne lub złośliwe, ale poważnie zastanowiłbym się nad twoim podejściem i ponownie zastanowiłam się nad korzyściami, które zostałyby wyważone, w porównaniu z niemożliwością osiągnięcia tego, o co prosisz.

+1

Ładne wyjaśnienie ..... –

1

Moim zdaniem nie jest to możliwe.

Możesz wyświetlać tylko własne działania wewnątrz TabHost. W przypadku działań zewnętrznych potrzebujesz ukrytego zamiaru, ale TabHost nie obsługuje tego: Embed external Intent in main Activity

Tam wyświetlasz dane z zagranicznej aplikacji we własnej aktywności. W tym celu należy zapytać dostawcę zawartości, który zapewnia inna aplikacja (zob. http://developer.android.com/guide/topics/providers/content-providers.html) w działaniu listy (pełny przykład można znaleźć pod adresem http://developer.android.com/reference/android/app/ListActivity.html), a następnie dołączyć do tej TabHost tę ListActivity.

Powiązane problemy