我对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"));
由于
斯图
答案 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);