Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/378.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 直接启动其他应用程序_Java_Android_Android Intent - Fatal编程技术网

Java 直接启动其他应用程序

Java 直接启动其他应用程序,java,android,android-intent,Java,Android,Android Intent,我想直接从我的应用程序运行另一个应用程序(Polaris Office)。但它也应该直接打开一个PDF文件 我尝试了以下代码: File targetFile = new File("/mnt/sdcard/pdf.pdf"); Uri targetUri = Uri.fromFile(targetFile); Intent intent = new Intent(Intent.ACTION_MAIN); intent.setComponent(new ComponentName("com.i

我想直接从我的应用程序运行另一个应用程序(Polaris Office)。但它也应该直接打开一个PDF文件

我尝试了以下代码:

File targetFile = new File("/mnt/sdcard/pdf.pdf");
Uri targetUri = Uri.fromFile(targetFile);

Intent intent = new Intent(Intent.ACTION_MAIN);
intent.setComponent(new ComponentName("com.infraware.PolarisOfficeForTablet",
                                      "com.infraware.viewer.UxViewerActivity"));
intent.setDataAndType(targetUri, "application/pdf");

startActivity(intent);
你知道我怎么做吗?我的当前代码显示错误消息:

原因:java.lang.SecurityException:权限拒绝:正在启动 Intent{act=android.Intent.action.MAIN dat=file:///mnt/sdcard/pdf.pdf 典型=应用程序/pdf cmp=com.infraware.PolarisOfficePortable/com.infraware.viewer.UxViewerActivity }来自ProcessRecord{40bc959810349:de.pixelstein.nativ/10099} (pid=10349,uid=10099)未从uid 10040导出


如果其他应用程序的活动已在其
AndroidManifest.xml
中标记为已导出,或者已定义了自动导出它们的
,则只能启动其他应用程序的活动。

如果其他应用程序的活动已在其
AndroidManifest.xml
中标记为已导出或已导出,则只能启动其他应用程序的活动定义了自动导出文件的

但如何在一个应用程序中直接打开文件而不将一个应用程序设置为“标准”?但如何在一个应用程序中直接打开文件而不将一个应用程序设置为“标准”?