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

Pra*_*pat 11 android android-activity

在我的应用程序中有标签布局.和两个标签.

  • 选项卡1 - 我的应用程序 在此输入图像描述
  • 选项卡2 - 任何外部Android应用程序(如联系人,呼叫拨号器等..)(我知道如何启动外部应用程序,但它不在我的应用程序中运行(意味着选项卡将不会在启动后显示)).

提前致谢

Try*_*ain 12

我可能误解了这一点,但除非您创建了明确的意图(与其他应用程序开发人员合作或创建了您希望嵌入的其他应用程序),否则这是不可能的.

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

尤其:

由于Android沙箱相互之间的应用程序,应用程序必须明确共享资源和数据.他们通过声明基本沙箱未提供的其他功能所需的权限来实现此目的.应用程序静态声明它们所需的权限,Android系统在安装应用程序时提示用户同意.Android没有动态(在运行时)授予权限的机制,因为它使用户体验复杂化而不利于安全性.

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


小智 1

阅读文档(意图部分),一些示例:

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

}
Run Code Online (Sandbox Code Playgroud)