Articles of android intent

尝试将SD卡中的文件附加到电子邮件

我正在尝试发送一个意图发送电子邮件。 所有这些工作,但是当我试图发送电子邮件时发生了一些“奇怪”的事情。 这里是代码 Intent sendIntent = new Intent(Intent.ACTION_SEND); sendIntent.setType("image/jpeg"); sendIntent.putExtra(Intent.EXTRA_SUBJECT, "Photo"); sendIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse("file://sdcard/dcim/Camera/filename.jpg")); sendIntent.putExtra(Intent.EXTRA_TEXT, "Enjoy the photo"); startActivity(Intent.createChooser(sendIntent, "Email:")); 因此,如果我使用Gmail菜单上下文启动它显示附件,让我键入谁是电子邮件,并编辑正文和主题。 没什么大不了。 我点击发送,然后发送。 唯一的是附件不会被发送。 所以。 我想,为什么不试试w /电子邮件菜单上下文(为我的电话备份电子邮件帐户)。 它显示的依恋,但在身体或主题没有文字。 当我发送它时,附件发送正确。 那会让我相信有些事情是错的。 我是否需要在Manifest发布新的许可意向发送电子邮件瓦特/附件? 我究竟做错了什么?

testing该button将启动Robolectric的Activity

嗨,我有以下代码: @RunWith(Test9Runner.class) public class MainActivityTest { private MainActivity activity; private Button pressMeButton; @Before public void setUp() throws Exception { activity = new MainActivity(); activity.onCreate(null); pressMeButton = (Button) activity.findViewById(R.id.button1); } @Test public void shouldUpdateResultsWhenButtonIsClicked() throws Exception { pressMeButton.performClick(); ShadowActivity shadowActivity = shadowOf(activity); Intent intent = shadowActivity.getResultIntent(); System.out.print(intent.toString()); } } 但我不知道如何testing按下PressMeButton开始一个新的活动。 其实,但是,如何为这个事实写出正确的Robolectricunit testing呢?

Android SDK中所有“android.intent.action”操作的详尽列表是什么?

大家好, 我想知道是否有一些详尽的参考标准Android SDK中定义的所有意图行动? 我正在考虑完整的“android.intent.action.someaction”名称,而不是在Intent类中定义的方便别名操作的限制列表,例如Intent.ACTION_VIEW,Intent.ACTION_POWER_CONNECTED等等。 对于那些相信所有Intent行为在Intent类中是别名的人(我是其中的一个,直到最近),我至less有一个行动不是:android.intent.action.HDMI_PLUG(在media / java / android / media中定义/AudioService.java),我相信还有很多其他的。 但是我在Android Reference中找不到一些详尽的列表,所以也许如果你能指引我到某个地方,我可以find它吗? 谢谢 ! —更新23/01/2012 15h36 — 感谢CommonsWare提及的HDMI_PLUG并不是Android SDk的一部分……这是一个不好的例子,但仍然有一些Intent.java中没有定义的意图,比如TelephonyManager.ACTION_PHONE_STATE_CHANGED。

如何在运行时获取设备高度和宽度?

我正在开发一个应用程序,我必须使我们的应用程序适合每个设备 – 平板电脑和Android手机。 现在我想在运行时获取设备的高度和宽度,并在我的代码中实现它,以便我的应用程序适用于横向和纵向。 我的XML文件是: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight="2" android:orientation="vertical"> <LinearLayout android:id="@+id/linearLayout1" android:layout_height="match_parent" android:orientation="horizontal" android:layout_width="match_parent" android:layout_weight="1"> <LinearLayout android:id="@+id/linearLayout1" android:layout_height="match_parent" android:orientation="vertical" android:layout_width="match_parent" android:layout_weight="1" android:weightSum="100"> <TextView android:id="@+id/letter1" android:gravity="center" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="60"></TextView> <TextView android:id="@+id/letter2" android:gravity="center" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="20"></TextView> <TextView android:id="@+id/letter3" android:gravity="center" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="20"></TextView> </LinearLayout> <LinearLayout android:id="@+id/linearLayout1" android:layout_height="match_parent" android:gravity="center" android:orientation="horizontal" android:layout_width="match_parent" android:layout_weight="1"> <ImageView android:id="@+id/imag" […]

使用意图在活动之间传递数据

我正在尝试在活动之间传递数据 我使用意图在常规活动之间传递数据 考虑下面的代码:: AndroidTabRestaurantDescSearchListView.java public class AndroidTabRestaurantDescSearchListView extends TabActivity { // TabSpec Names private static final String INBOX_SPEC = "Rating"; private static final String OUTBOX_SPEC = "Price"; Button Photos; Button Filter; Button Search; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); TabHost tabHost = getTabHost(); // Inbox Tab TabSpec inboxSpec = tabHost.newTabSpec(INBOX_SPEC); Intent inboxIntent = […]

只有电子邮件应用程序来解决一个意图

我有一个问题..我只想要电子邮件活动解决intent ACTION.SEND,但在电子邮件旁边我也得到其他应用程序(例如TubeMate),即使我已经设置MIMEtypes为“message / rfc822”…任何想法如何我可以得到电子邮件应用程序来解决它..

将位图保存到文件function

我试图保存一个位图文件和一个特定的直接使用我创build的函数。 这不起作用。 它在bitmap.compress部分之后崩溃(在这里之前)。 File dir = new File(filepath); if(!dir.exists())dir.mkdirs(); File file = new File(Environment.getExternalStorageDirectory() + filepath, side + ".png"); FileOutputStream fOut = new FileOutputStream(file); bitmap.compress(Bitmap.CompressFormat.PNG, 85, fOut); fOut.flush(); fOut.close(); System.out.println(filepath); bitmap.recycle(); System.gc(); 错误日志: 06-29 00:16:38.089: D/AndroidRuntime(3260): Shutting down VM 06-29 00:16:38.089: W/dalvikvm(3260): threadid=1: thread exiting with uncaught exception (group=0xb587f4f0) 06-29 00:16:38.089: E/AndroidRuntime(3260): FATAL EXCEPTION: main […]

Android – 从一个广播接收器onReceive()发送到上下文

我基本上想做一个意图,并将其传递给我的BroadcastReceiver的onReceive()服务。 到目前为止,我总是使用View.getContext(),但在这里,我卡住了。 我怎样才能得到的上下文,所以我可以使用public Intent (Context packageContext, Class<?> cls) ?

Android – java.lang.SecurityException:权限拒绝:启动意图

我有一个库(jar)在我的项目的构buildpath。 该项目使用以下意图访问jar中的MainActivity: final Intent it = new Intent(); it.setClassName("com.example.lib", "com.example.lib.MainActivity"); startActivity(it); 它曾经工作了一段时间,但突然开始得到'ActivityNotFoundException:没有发现活动处理意向',我能够解决。 但是现在我被一个'java.lang.SecurityException:Permission Denial:starting Intent'卡住了。 我已经尝试了所有在stackoverflow上的build议(检查清单文件中的重复项;添加android:exported =“true”到lib清单; Eclipse> Project> Clean;添加/修改“intent-filter”标签等)。 我甚至试图重写项目的清单,但不去任何地方。 这是logcat输出: 11-07 06:20:52.176: E/AndroidRuntime(4626): FATAL EXCEPTION: main 11-07 06:20:52.176: E/AndroidRuntime(4626): java.lang.SecurityException: Permission Denial: starting Intent { cmp=com.example.lib/.MainActivity } from ProcessRecord{40dd3778 4626:com.example.project/u0a10046} (pid=4626, uid=10046) not exported from uid 10047 11-07 06:20:52.176: E/AndroidRuntime(4626): at android.os.Parcel.readException(Parcel.java:1425) 11-07 […]

Android Parcelable和Serializable

所以我知道这是build议在Android中使用Parcelable而不是Serializable,因为它更快。 我的问题是:是不可能避免使用Serializable的权利? 如果我想要序列化一个自定义对象,让我们说我有以下的类定义 public class Person { String name; int Age; … …. } 使这个parcelable容易,因为Person类包含parcel.write *()支持的types,即有parcel.writeString和parcel.writeInt 现在,如果Person类如下: public class PersonTwo { MyCustomObj customObj; String name; int Age; … …. } 我想如何包裹MyCustomObj对象? 看来我需要再次使用序列化? 但是又一次,我认为这是使用序列化的SLOW,似乎我们别无select,只能在这种情况下使用它。 我不明白 有人可以告诉我,在这种情况下我将如何包裹PersonTwo?