Mono for Android,如何制作传递数据的意图

时间:2012-02-10 20:17:20

标签: android android-intent xamarin.android

我对android很新,我已经在.NET中编写了几年 我试图创建一个应用程序,在将一些数据传递给它时启动另一个应用程序。 我一直在和另一个应用程序的开发人员聊天,他说

Following is what I wrote in the AndroidManifest.xml:

         <activity android:name=".EmulatorActivity"
            <intent-filter>
                <action android:name="android.intent.action.VIEW" />
                <category android:name="android.intent.category.DEFAULT" />
                <data android:scheme="file" />
                <data android:mimeType="application/x-n64-rom" />
            </intent-filter>
        </activity>

You should set the Intent URL to something like 'file://path/rom_file', and set its mime type to 'application-x-n64-rom'.

我不知道如何做到这一点,我可以使用

成功启动他的应用程序
Intent intent = new Intent(Intent.ActionMain);
            intent.SetComponent(new ComponentName("com.androidemu.n64", "com.androidemu.n64.MainActivity"));
            intent.SetFlags(ActivityFlags.NewTask);
            StartActivity(intent);

但如果我将ActionMain更改为ActionView和MainActivity更改为EmulatorActivity,它会尝试启动但崩溃 我也不知道如何传递变量:)我已经尝试了很多组合,但知道我哪里出错了 我想传递的文件名是sd卡调用的根目录n64.zip

我试过了 intent.PutExtra(Intent.ExtraStream,Android.Net.Uri.Parse(&#34; file://sdcard/n64.zip"));

由于

斯图

2 个答案:

答案 0 :(得分:0)

需要更多信息。它在哪里崩溃?

你的Intent的构造函数应该是新的Intent(Intent.ACTION_MAIN)。我不知道 Intent.ActionMain是什么,除非它是您正在使用的开发环境的一部分。

您无法随意更改intent.SetComponent()。组件包和类名必须 与其他活动完全匹配。

答案 1 :(得分:0)

你可以尝试一下,看看它是否有效:

Intent myIntent = new Intent(android.content.Intent.ACTION_VIEW);
myIntent.setDataAndType(Uri.fromFile("filepath"), "application/x-n64-rom");
startActivity(myIntent);