应用AndroidVNC在其清单中定义了以下活动过滤器:
<activity android:screenOrientation="landscape" android:configChanges="orientation|keyboardHidden" android:name="VncCanvasActivity">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="vnd.android.cursor.item/vnd.vnc.config" />
</intent-filter>
</activity>
如果可以调用此活动,则需要特定于供应商的MIME类型vnd.vnc.config的URI。需要在以下代码中替换 FOO :
Intent intent = new Intent(Intent.ACTION_VIEW,Uri.parse(“ FOO ”)); startActivity(意向);
那么Uri.parse()需要什么字符串来匹配供应商特定的MIME类型,如vnd.vnc.config?给定供应商特定的MIME类型,如vnd.vnc.config,一般来说,如何确定要传入Uri.parse()的字符串以匹配这种MIME类型?
===========================================
我在这个问题的底部添加了AndroidVNC的整个AndroidManifest.xml文件。 完全独立的Android应用程序是否可以调用指定的任何或所有活动 在这个AndroidManifest.xml文件中?如果是这样,以下代码的哪个特定版本将单独的应用程序用于匹配和调用AndroidManifest.xml文件中的每个活动? Intent intent = new Intent(Intent.ACTION_VIEW,Uri.parse(“ FOO ”)); startActivity(意向);
<provider android:name="Provider"
android:authorities="android.androidVNC.Provider" />
<activity android:screenOrientation="landscape" android:configChanges="orientation|keyboardHidden" android:name="VncCanvasActivity">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="vnd.android.cursor.item/vnd.vnc.config" />
</intent-filter>
</activity>
<activity android:name=".gui.ListVncSettingsActivity" android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".gui.InsertVncSettingsActivity">
<intent-filter>
<action android:name="android.intent.action.INSERT" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="vnd.android.cursor.dir/vnd.vnc.config" />
</intent-filter>
</activity>
<activity android:name=".gui.EditVncSettingsActivity">
<intent-filter>
<action android:name="android.intent.action.EDIT" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="vnd.android.cursor.item/vnd.vnc.config" />
</intent-filter>
</activity>
<activity android:name=".gui.DeleteVncSettingsActivity">
<intent-filter>
<action android:name="android.intent.action.DELETE" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="vnd.android.cursor.item/vnd.vnc.config" />
</intent-filter>
</activity>
</application>
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
答案 0 :(得分:0)
取代FOO的东西 需要以下代码:
不一定。致电setType()
上的Intent
。根据他们实施活动的方式,他们可能甚至不需要FOO
。
给定供应商特定的MIME类型 vnd.vnc.config,一般你怎么样 确定要传入的字符串 Uri.parse()匹配这样的MIME类型?
你问这个活动的作者。也许他们期望处理Web服务器提供MIME类型的链接。也许他们有一个关联的ContentProvider
,用于提供该MIME类型的内容。也许他们有其他方法。在这种情况下,它们具有<provider>
元素,这是一个线索。
可以完全独立的Android应用 调用任何或所有活动 在这个AndroidManifest.xml中指定 文件?
它当然可以尝试。要确定活动的期望,请询问活动的作者,或阅读他们的源代码。特别是对于活动所期望的任何Uri
,仅仅通过查看清单就不一定能获得足够的信息。这与书不同:阅读目录与阅读书籍不同。