我需要从服务启动活动。我尝试使用:
public void openApplication(String packageName){
Intent intent = new Intent(packageName);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
this.startActivity(intent);
}
但是我收到了这个错误:
E/AndroidRuntime(8563):android.content.ActivityNotFoundException: No Activity found to handle Intent { act=com.example.encrypted flg=0x10000000 }
04-30 11:55:07.507: E/AndroidRuntime(8563): at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1765)
04-30 11:55:07.507: E/AndroidRuntime(8563): at android.app.Instrumentation.execStartActivity(Instrumentation.java:1485)
有什么想法吗?
答案 0 :(得分:1)
请尝试使用此代码。您需要为该软件包启动Intent
:
public void openApplication(String packageName) {
PackageManager pm = getPackageManager();
Intent intent = pm.getLaunchIntentForPackage(packageName);
startActivity(intent);
}
答案 1 :(得分:0)
您已创建了Intent
,其中包含某项“操作”。找到由所需应用程序的IntentFilter处理的正确操作字符串。 packageName 与操作不一样。
如果多个应用程序应在IntentFilter中定义相同的操作,系统将弹出一个IntentChooser,其中显示所有这些应用程序。