android怎么打开另外的应用程序

android怎么打开另外的应用程序,第1张

我们可以通过ComponentName以及Intent的setComponent来实现:在一个应用程序里面启动另外一个已经安装的应用程序或系统程序。

下面是一个在一个应用程序里面启动另外一个已经安装的程序,如下:

[javascript]

//组件名称,第一个参数是应用程序的包名,后一个是这个应用程序的主Activity

ComponentName com = new ComponentName("com.antroid.Test", "com.antroid.Test.TestActivity")

Intent intent = new Intent()

//设置部件

intent.setComponent(com)

startActivity(intent)

//组件名称,第一个参数是应用程序的包名,后一个是这个应用程序的主Activity

ComponentName com = new ComponentName("com.antroid.Test", "com.antroid.Test.TestActivity")

Intent intent = new Intent()

//设置部件

intent.setComponent(com)

startActivity(intent)

我们也可以使用下面的代码启动系统的日历程序:

[javascript]

Intent intent=new Intent()

intent.setComponent(new ComponentName("com.android.calendar", "com.android.calendar.LaunchActivity"))

startActivity(intent)

Intent intent=new Intent()

intent.setComponent(new ComponentName("com.android.calendar", "com.android.calendar.LaunchActivity"))

startActivity(intent

如果你知道另外一个程序的类名就可以这样写

intent.addCategory(Intent.CATEGORY_LAUNCHER)            

ComponentName cn = new ComponentName(packageName, className)            

intent.setComponent(cn)

startActivity(intent)

2.如果你只知道包名不知道类名,首先获取类名

private void openApp(String packageName) {

    PackageInfo pi = getPackageManager().getPackageInfo(packageName, 0)

    

    Intent resolveIntent = new Intent(Intent.ACTION_MAIN, null)

    resolveIntent.addCategory(Intent.CATEGORY_LAUNCHER)

    resolveIntent.setPackage(pi.packageName)

    

    List<ResolveInfo> apps = pm.queryIntentActivities(resolveIntent, 0)

    

    ResolveInfo ri = apps.iterator().next()

    if (ri != null ) {

        String packageName = ri.activityInfo.packageName

        String className = ri.activityInfo.name

        

        Intent intent = new Intent(Intent.ACTION_MAIN)

        intent.addCategory(Intent.CATEGORY_LAUNCHER)

        

        ComponentName cn = new ComponentName(packageName, className)

        

        intent.setComponent(cn)

        startActivity(intent)

    }

}

然后使用1中的方法调用程序


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11258580.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-14
下一篇 2023-05-14

发表评论

登录后才能评论

评论列表(0条)

保存