启动外部应用程序

时间:2014-01-06 00:15:13

标签: android xamarin.android

我正在尝试从我的应用程序启动另一个应用程序,特别是splashtop远程流媒体应用程序。这是我到目前为止所做的:

string packageName = "com.splashtop.remote.FirstActivity";
Intent splash = new Intent();
splash.SetAction(packageName);
StartActivity(splash);

在我的Android Manifest中:

<activity   android:name="com.splashtop.remote.FirstActivity" android:label="@string/app_name">  
     <intent-filter> 
        <action android:name="com.splashtop.remote.FirstActivity" />  
        <category android:name="android.intent.category.DEFAULT" />  
    </intent-filter>   
</activity>

我在应用程序输出和app forcecloses中收到此错误:

Didn't find class "com.splashtop.remote.FirstActivity" on path: /data/app/roughapp.roughapp-1.apk

那么我究竟如何更改它所指的路径

on path: /data/app/roughapp.roughapp-1.apk

2 个答案:

答案 0 :(得分:0)

如果您在自己的清单中声明了该活动,它将在您自己的应用中查找它。要在您自己的应用程序之外启动活动,请删除您在清单中放置的内容并使用以下代码:

Intent intent = new Intent();
intent.setComponent(new ComponentName("com.splashtop.remote","FirstActivity"));
startActivity(intent);

答案 1 :(得分:0)

更好的解决方案是使用 PackageManager 及其方法getLaunchIntentForPackage(String packageName);

http://developer.android.com/reference/android/content/pm/PackageManager.html#getLaunchIntentForPackage%28java.lang.String%29

如果未安装应用程序或没有此类意图,此方法将返回可用的intent或null。

可以通过getPackageManager();

从任何上下文中检索 PackageManager 祝你好运。