我尝试使用该代码从ARC上的intent过滤器实现启动应用程序:
<activity
android:name=".package.etc.MyActivity"
android:configChanges="mcc|mnc|locale|touchscreen|keyboardHidden|navigation|orientation|screenLayout|uiMode|screenSize|smallestScreenSize|layoutDirection|fontScale"
android:screenOrientation="sensorLandscape"
android:launchMode="singleTask"
android:label="@string/myactivity_name" >
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="file" />
<data android:mimeType="*/*" />
<data android:pathPattern=".*\\.pdf" />
<data android:host="*" />
</intent-filter>
</activity>
在Android平板电脑上,它有效。但在Chrome ARC应用程序崩溃。 Chrome ARC支持吗?
修改
我遇到了那次崩溃
Fatal Exception: java.lang.IllegalArgumentException There is no Activity which handles filePath = file:///data/data/org.chromium.arc/external/C1373AC2527597D1C0BC66486DCC787F/Granizo.pdf mimeType=application/pdf
org.chromium.arc.helper.FileHandlerLaunchHelperActivity.buildLaunchIntent (FileHandlerLaunchHelperActivity.java:122)
org.chromium.arc.helper.FileHandlerLaunchHelperActivity.onMessage (FileHandlerLaunchHelperActivity.java:162)
org.chromium.arc.ArcMessageBridge$1.handleMessage (ArcMessageBridge.java:75)
org.chromium.arc.ArcMessageBridgeService$3.run (ArcMessageBridgeService.java:238)
编辑2
<activity
android:name="com.package.activities.MyActivity_"
android:configChanges="mcc|mnc|locale|touchscreen|keyboardHidden|navigation|orientation|screenLayout|uiMode|screenSize|smallestScreenSize|layoutDirection|fontScale"
android:screenOrientation="sensorLandscape"
android:launchMode="singleTask"
android:label="@string/myactivity_name" >
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="file" />
<data android:mimeType="*/*" />
<data android:pathPattern=".*\\.pdf" />
<data android:host="*" />
</intent-filter>
</activity>
答案 0 :(得分:0)
我将假设无论什么&#34; ARC文件浏览器&#34;是指通过ARC打包的其他Android应用程序,它在Chrome / ChromeOS环境中运行。
在这种情况下,该应用与您的应用无关。
最好将ARC视为每个ARC提供单独的Android模拟器。一个ARC中的应用程序无法访问其他ARC中的应用程序,就像一个模拟器映像中的应用程序无法访问其他模拟器映像中的应用程序一样(或者一个设备上的应用程序无法访问单独设备上的应用程序)。因此,您的ARC文件浏览器&#34;在其自己的ARC中,无法通过您的应用程序在单独的ARC中打开PDF。
这使得许多Android应用程序在ARC环境中相当无用,并且希望将来能够解决这个问题。