Articles of android intent

android:拍照相机没有“保存”/“删除”确认

我想在ImageView中使用显示从相机拍摄的图像 Intent intent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE); 到目前为止,此工作正常,但在用户使用所选的相机应用程序拍摄照片后,会出现一个对话框(可能来自应用程序),询问是否保存或删除拍摄的照片(至少在Android 2.3和4.2上使用默认的相机应用程序)。 我想跳过这个额外的对话框并直接在ImageView中显示图像(当调用onActivityResult时),因为这意味着用户需要额外的交互步骤,这是不必要的,因为他将有可能保存或删除照片。我的应用。 这可能是使用简单的ACTION_IMAGE_CAPTURE Intent还是我需要像Camera Preview和SurfaceView这样的更复杂的东西?

为什么Intent.createChooser()需要一个BroadcastReceiver以及如何实现?

从我的onOptionsItemSelected()实现中调用的以下代码段可以很好地将用户从我的应用程序传送到邮件客户端,其中包含电子邮件地址,主题和正文预填充。 我正在使用它作为让用户给我反馈的简单方法。 String uriText = “mailto:” + emailAddress + “?subject=” + subject + “&body=” + body; Intent emailIntent = new Intent(Intent.ACTION_SENDTO, Uri.parse(uriText)); startActivity(Intent.createChooser(emailIntent, “Pick an email app:”)); 当邮件应用程序打开时(在我的带有Android 4.0.4的Nexus S上),LogCat输出以下内容,我无法弄清楚原因; Google和SO搜索createChooser unregisterReceiver看起来毫无结果,我找不到很多createChooser()例子,它们也以帮助这种情况的方式调用unregisterReceiver() 。 04-08 21:26:19.094:E / ActivityThread(27894):活动com.android.internal.app.ChooserActivity泄露了最初在这里注册的IntentReceiver com.android.internal.app.ResolverActivity$1@4150aac8。 你是否错过了对unregisterReceiver()的调用? 04-08 21:26:19.094:E / ActivityThread(27894):android.app.IntentReceiverLeaked:Activity com.android.internal.app.ChooserActivity泄露了最初的IntentReceiver com.android.internal.app.ResolverActivity$1@4150aac8在这里注册。 你是否错过了对unregisterReceiver()的调用? 04-08 21:26:19.094:E / ActivityThread(27894):在android.app.LoadedApk $ ReceiverDispatcher。(LoadedApk.java:763) 这感觉就像一个Android bug,因为我自己的代码没有调用registerReceiver() ,那么为什么Android抱怨我需要调用unregisterReceiver() […]

Android4.4无法使用“vnd.android-dir / mms-sms”处理sms意图

我的应用程序有一个启动默认短信活动的按钮,它工作得非常好所有Android版本除了新的,Android 4.4(kitkat)这是代码: public void onClick(View arg0) { Intent smsIntent = new Intent(Intent.ACTION_VIEW); smsIntent.setType(“vnd.android-dir/mms-sms”); smsIntent.putExtra(“address”, member.getPhoneNumber().trim()); context.startActivity(smsIntent); } 我收到错误消息 11-08 02:08:32.815: E/AndroidRuntime(14733): android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.VIEW typ=vnd.android-dir/mms-sms (has extras) } 我知道谷歌对默认的短信应用如何处理短信意图做了一些改变。 但我的应用程序不是短信应用程序,但它只具有启动默认短信应用程序与收件人号码的function。 所以请帮忙。

在Android上以编程方式发送带附件的电子邮件

我希望实现一个按钮,按下它将打开带有附件文件的默认电子邮件客户端。 我正在关注这个 ,但是我在startActivity上收到一条错误消息,说它正在期待一个活动参数,而我正在给它一个意图。 我使用的是API 21和Android Studio 1.1.0,所以它可能与链接中提供的答案中的注释有关? 这是我作为Android开发者的第四天,如果我遗漏了一些非常基本的东西,那就很抱歉。 这是我的代码: public void sendFileToEmail(File f){ String subject = “Lap times”; ArrayList attachments = new ArrayList(); attachments.add(Uri.fromFile(f)); Intent intent = new Intent(Intent.ACTION_SEND_MULTIPLE); intent.putExtra(Intent.EXTRA_SUBJECT, subject); intent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, attachments); intent.setClassName(“com.android.email”, “com.android.mail.compose.ComposeActivity”); try { startActivity(intent); } catch (ActivityNotFoundException e) { e.printStackTrace(); }

通过bundle传递值并获得其他活动的价值

正如我在代码中看到的那样,我正在通过Bundle传递价值。 现在,我希望它在另一个活动onCreate() 。 我尝试了它的值,但它显示nullpointerexception。 请帮我解决问题。 Bundle bundle = new Bundle(); String url = “http://www.google.com”; bundle.putString(“url”, url); Intent myIntent = new Intent(context, NotificationService.class); myIntent.putExtras(bundle); context.startService(myIntent); 获取价值代码: if (!getIntent().getExtras().getString(“url”).contains(null)) { // Do something }

我的应用程序启动时,如何在没有预览的情况下从相机拍照?

现在我想要的只是一个应用程序,只需在启动时从相机拍摄照片。 没有布局,没有相机预览……没有,只是一个简单的应用程序图标来启动应用程序。 一旦启动,相机应该拍照。 这是预览图像, 我不想在我的应用程序中显示 。 我只是想让我的应用程序点击图片中环绕的拍照按钮 : 拍完照片后,我需要将它保存在我的照片库中。 有人能指导我吗? 谢谢 这是我在仿真器和设备上尝试过的一些代码。 import java.io.IOException; import android.app.Activity; import android.hardware.Camera; import android.hardware.Camera.PictureCallback; import android.hardware.Camera.ShutterCallback; import android.os.Bundle; import android.util.Log; import android.view.SurfaceHolder; import android.view.SurfaceView; import android.view.View; import android.view.View.OnClickListener; import android.widget.ImageButton; public class Main extends Activity implements SurfaceHolder.Callback{ private Camera camera; private ImageButton cameraClick; private SurfaceHolder mHolder; /** Called when […]

通过后退按钮关闭活动时返回意图结果

我使用startActivityForResult(intent, requestCode)从原始Activity启动一个新的Activity 。 我想在用户按下后退按钮时将数据返回到原始Activity ,因此返回原始Activity 。 我尝试了两种方法: 覆盖onBackPressed() : @Override public void onBackPressed() { super.onBackPressed(); Intent intent = new Intent(); intent.putIntegerArrayListExtra(SELECTION_LIST, selected); setResult(RESULT_OK, intent); } 重写onPause() : @Override protected void onPause() { super.onPause(); Intent intent = new Intent(); intent.putIntegerArrayListExtra(SELECTION_LIST, selected); setResult(RESULT_OK, intent); } 不幸的是,它们都没有工作(在onActivityResult() resultCode不是RESULT_OK )。 这样做的正确方法是什么? 谢谢!

如何在android中动态设置布局

好吧,假设有一个名为MainActivity的Activity,有两个名为layout1和layout2的布局都有几个按钮。 默认情况下, MainActivity布局是layout1 ,如下所示: public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.layout1); 现在我实际上是通过单击layout1中的按钮,第二个布局设置如下: someBtn1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { setContentView(R.layout.layout2); } }); layout2中还有另一个按钮可以返回到layout1 ,如下所示: someBtn2.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { setContentView(R.layout.layout1); } }); 问题是当我返回到layout1然后someBtn1的OnClickListener不起作用。 我似乎需要为layout1的 someBtn1再次设置OnClickListener。 我如何编写代码以使它们与最佳实践完美配合?

Android:从“最近的应用程序”启动应用程序启动它与意图中使用的最后一组附加function

这里有点困惑的问题: 我有一个主屏幕小部件,当点击它时,启动我的主应用程序活动,并在意图中添加一些额外内容: Intent start = new Intent(context, Main.class); start.putExtra(“action”, “showXYZ”); start.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(start); 这一切都很好,它开始我的活动,我的活动按预期收到额外的。 它处理这些额外内容并开始另一项活动。 一旦用户点击主屏幕小部件并以这种方式启动主要活动,通过“最近的应用程序”方法进入应用程序(按住“主页”键)将启动带有附加function的主要活动 – 导致处理发生我不想要(并导致第二个活动打开,而不是仅显示主活动)。 这有什么解决方法吗? 从“最近的应用程序”方法启动应用程序时,我想简单地启动Main活动而不使用最后一组附加function。 非常感谢您的帮助! r3mo 注意:我在Android 1.5上 编辑: 在这里find了一个解决方法: Android保持缓存我的意图额外,如何声明一个保留新鲜额外的待处理意图? 我将为窗口小部件引发的意图添加时间戳,并检查Main.java中的时间戳是否是最近的。 如果是,我将继续处理。 如果没有,我将只显示Main.java活动。 很想知道是否有任何官方解决方案。

显示Android上的所有广播事件

是否有可能显示在android中触发的所有广播事件/意图? 我只是想知道我是否可以快速弄清楚应用程序是否正在使用我可以使用的意图/广播。 对于大多数股票Android应用程序,我可以阅读源,但是很耗时。