2012-02-10 53 views
0

我很新到Android,我在.NET几年 我试图创建将启动其他应用程序,同时应用程序被编码将一些数据传递给它。 我一直聊天到其他应用程序的开发者,他说单为Android,如何使数据传递的意图

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(“file://sdcard/n64.zip”));

感谢

斯图

回答

0

你可以试试这个,看看它的工作:

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

我没有得到重载需要2个参数为Android.Net.Uri.FromFile – Stu1983 2012-02-11 00:06:50

+0

对不起,有一个括号丢失。现在应该工作。 – 2012-02-11 00:31:17

0

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

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

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

+0

我使用的是单声道的Android,其高清Intent.ActionMain但我认为对应于ACTION_MAIN。我的应用程序不会崩溃,它是我尝试启动的应用程序出现,然后立即崩溃。 – Stu1983 2012-02-11 00:01:44

相关问题