我正在尝试从我的应用程序启动另一个应用程序,特别是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
答案 0 :(得分:0)
如果您在自己的清单中声明了该活动,它将在您自己的应用中查找它。要在您自己的应用程序之外启动活动,请删除您在清单中放置的内容并使用以下代码:
Intent intent = new Intent();
intent.setComponent(new ComponentName("com.splashtop.remote","FirstActivity"));
startActivity(intent);
答案 1 :(得分:0)
更好的解决方案是使用 PackageManager 及其方法getLaunchIntentForPackage(String packageName);
如果未安装应用程序或没有此类意图,此方法将返回可用的intent或null。
可以通过getPackageManager();