如何在我的Android应用程序中启动android应用程序?

问题描述:

在我的应用程序中有选项卡布局。和两个选项卡。如何在我的Android应用程序中启动android应用程序?

  • 标签1 - 我的应用程序enter image description here
  • 选项卡 - 任何外部Android应用程序(如联系人,通话 拨号等。)(我知道如何我的应用程序中启动应用程序之外,但它不是 运行(在启动 之后,手段标签将不会显示))。

在此先感谢

+0

阅读有关Intent类的信息,并了解哪些操作是可以解决问题的。我们不会给你答案。了解Android意图系统的工作方式,然后它将成为肉汁。 – JoxTraex 2011-12-23 06:56:39

+5

@JoxTraex他在问什么可能?那么我必须再次阅读Intent – ingsaurabh 2011-12-23 06:58:30

+0

是可能的吗?我不信 。您可以从您的应用程序运行其他应用程序,但在第一个应用程序生成的视图中运行它? – 2011-12-23 15:38:14

读取DOC(意向节),一些示例:

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); 
    } 

} 

我可能误解了这一点,但除非你已经创建明确intents(与其他应用程序开发人员的工作或创建你想嵌入的其他应用程序)这是不可能的。

在沙盒中每一个Android应用程序运行:http://developer.android.com/guide/topics/security/security.html

特别:

因为彼此的Android沙箱应用程序,应用程序 必须明确共享资源和数据。他们通过声明 他们需要的权限来获得 基本沙箱未提供的附加功能。应用程序静态声明他们需要的权限 ,Android系统在安装应用程序时提示用户同意 。 Android没有 动态(在运行时)授予权限的机制,因为它会使用户体验复杂化而损害安全性。

因此这是不可能的。这似乎是误导或恶意开始,但我会认真考虑你的方法,并重新考虑权衡的好处,甚至不能实现你所要求的。

+1

不错的爆炸..... – 2012-12-08 04:35:53

在我看来,这是不可能的。

您只能在TabHost内显示自己的活动。对于外部活动,您需要一个隐含的意图,但TabHost不支持:Embed external Intent in main Activity

因此,您在自己的活动中显示来自外部应用程序的数据。这样做,您在列表活动中查询其他应用程序提供的内容提供者(请参阅http://developer.android.com/guide/topics/providers/content-providers.html)(请参阅http://developer.android.com/reference/android/app/ListActivity.html上的完整示例),并在您的TabHost中包括此ListActivity