使用类属性并且不添加任何硬编码清单:
[Activity(Label = "StartFileActivity")]
[IntentFilter(new[] { Intent.ActionView }, Categories = new[] { Intent.CategoryDefault }, DataMimeType = "application/*", DataPathPattern = "*.IE3")]
public class StartFileActivity : Activity
{
protected override void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
// Do something with the *.IE3 file...
}
}
会自动添加到您的清单中:
<activity android:label="StartFileActivity" android:name="md54385a510f3a446695f2c9f6ad6a86f05.StartFileActivity">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="application/*" />
<data android:pathPattern="*.IE3" />
</intent-filter>
</activity>
如果您确实需要删除自动生成的名称,请提供硬编码Activity
name:
[Activity(Label = "StartFileActivity", Name="foo.bar.SomeName")]
[IntentFilter(new[] { Intent.ActionView }, Categories = new[] { Intent.CategoryDefault }, DataMimeType = "application/*", DataPathPattern = "*.IE3")]
public class StartFileActivity : Activity
结果是:
<activity android:label="StartFileActivity" android:name="foo.bar.SomeName">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="application/*" />
<data android:pathPattern="*.IE3" />
</intent-filter>
</activity>