Articles of android intent

在Android中获取createChooser方法的IntentSender对象

我想使用新版本的Intent.createChooser方法,该方法使用IntentSender 。 文档仅说明我可以从PendingIntent实例中获取它。 在我看来, PendingIntent似乎没有任何其他用途。 是否有其他方式来获取IntentSender或我是否需要创建PendingIntent ?

Android:有没有通用的方式在任何Android设备上发送彩信?

此代码适用于具有本机android系统的普通google设备。 但是在htc感应设备的列表中没有MMS应用程序,我不知道摩托罗拉模糊等: final Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND); emailIntent.setType(“image/png”); emailIntent.putExtra(Intent.EXTRA_STREAM, uri); context.startActivity(Intent.createChooser(emailIntent, context.getString(R.string.send_intent_name))); 这段代码适用于htc意义,但不适用于Chooser,我真正需要的是: Intent sendIntent = new Intent(“android.intent.action.SEND_MSG”); sendIntent.putExtra(Intent.EXTRA_STREAM, uri); sendIntent.setType(“image/png”); context.startActivity(sendIntent); 但我不知道如何将这些代码示例组合在一起,我不知道如何以编程方式确定Htc Sense ui。 是支持不同types设备的正确方法吗? 谢谢你的回答。

禁用活动之间的过渡动​​画

我从活动A调用活动B,其中包含使用以下代码的video视图: Intent intent = new Intent(this, B.class); intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION); startActivityForResult(intent, 0); 我正在使用Intent.FLAG_ACTIVITY_NO_ANIMATION来避免在调用新活动时转换animation。 但它不适合我和黑屏在转型期间即将到来。 有没有办法避免这种过渡animation和黑屏,以便用户不会知道在新屏幕中调用video视图?

BroadcastReceiver试图在非有序广播期间返回结果 – 在Android中PACKAGE_ADDED

我在下面给出的代码中得到了这个exception。 我不知道这段代码有什么问题。 请帮我摆脱这个例外。 05-23 23:33:49.853: E/BroadcastReceiver(26895): BroadcastReceiver trying to return result during a non-ordered broadcast 05-23 23:33:49.853: E/BroadcastReceiver(26895): java.lang.RuntimeException: BroadcastReceiver trying to return result during a non-ordered broadcast 05-23 23:33:49.853: E/BroadcastReceiver(26895): at android.content.BroadcastReceiver.checkSynchronousHint(BroadcastReceiver.java:783) 05-23 23:33:49.853: E/BroadcastReceiver(26895): at android.content.BroadcastReceiver.setResultCode(BroadcastReceiver.java:549) 05-23 23:33:49.853: E/BroadcastReceiver(26895): at com.waypedia.rupesh.abhi.RetentionApplicationAddedBroadcastReceiver.onReceive(RetentionApplicationAddedBroadcastReceiver.java:18) 05-23 23:33:49.853: E/BroadcastReceiver(26895): at android.app.ActivityThread.handleReceiver(ActivityThread.java:2446) 05-23 23:33:49.853: E/BroadcastReceiver(26895): at android.app.ActivityThread.access$1700(ActivityThread.java:139) 05-23 23:33:49.853: […]

在安全的Android锁定屏幕中使用FLAG_SHOW_WHEN_LOCKED和disableKeyguard()

上下文 最近,我一直在寻找可靠的方法来控制安全的Android Keyguard。 主要是显示自定义锁屏。 我知道谷歌已经声明自定义锁定屏幕没有得到平台的正式支持,并且应该预期会破坏,但是,对于现有的API,我相信必须有办法做到这一点。 我做了大约一个星期的研究,但仍然存在问题。 假设已启用安全的Keyguard,到目前为止,我已经实现了 WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED允许在屏幕上显示活动(窗口),将Keyguard放在后面,并防止所有不安全的操作。 通知面板已禁用,完成活动将调出键盘。 我在锁屏活动中实现了以下function。 @Override public void onAttachedToWindow() { window.addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED); } KeyguardManager , KeyguardManager.KeyguardLock是不推荐使用的类,但它们仍然可以一直运行到Jelly Bean。 为此,我有一个处理两件事的Service ,包含一个静态KeyguardManager和相关对象,并让它持有一个BroadcastReceiver来接收Intent.ACTION_SCREEN_ON和Intent.ACTION_SCREEN_OFF 。 (所有对象都已正确初始化) 对于ScreenReceiver public static synchronized void disableKeyguard() { if ( isLocked ) { if ( keyguardLock == null ) { keyguardLock = keyguardManager.newKeyguardLock(LOG_TAG); } keyguardLock.disableKeyguard(); isLocked = false; } } public […]

Android – 通过url启动谷歌地图

在iPhone上,本地谷歌地图应用程序拦截并加载了maps.google.comurl。 我想在Android上做同样的事情,但谷歌地图正在浏览器中加载。 因此,在网页中,是否可以在Android Google地图应用中打开此urlhttp://maps.google.com/maps?saddr=brighton&daddr=timbuktu ? 我从这个问题中看到你可以通过Intent从另一个应用程序中完成。 你能从浏览器触发这些Intent吗? 编辑 – 在进一步测试时,我发现系统会提示用户在浏览器或地图应用中打开链接,以获取到maps.google.maps的标准html链接: show route 我遇到了问题因为我使用javascript通过Location API回调设置window.location.href(所以我可以获取用户的位置,然后打开地图)。 我为此打开了一个错误报告 。

使用Intents或事件总线在同一个应用程序中进行通信

我了解如何使用Intents与系统/其他应用程序进行通信。 我理解如何在同一个App中使用Intent。 我也了解如何使用Otto在同一个App中进行通信。 使用Otto vs. Intents在我的活动/服务之间进行交流的Pro / Cons是什么?

无法启动服务意图:未find

我有同样的问题在这里描述,但我无法理解什么是错的。 我的问题是:无法启动服务Intent {act = .connections.MoodyService} U = 0:找不到 编辑 我已经在源代码中将我的包从连接更改为服务,抱歉让人感到困惑 我的清单 ` service是包,MoodyService是类名 我的服务类 public class MoodyService extends Service { public MoodyService() { // TODO Auto-generated constructor stub } private boolean isRunning = false; Object getContent; @Override public IBinder onBind(Intent intent) { // TODO Auto-generated method stub return null; } @Override public void onCreate() { […]

IntentService的onHandleIntent(Intent)获取null参数

我正在使用IntentService在Android上为我的应用程序运行后台服务。 奇怪的是,我收到很多崩溃报告,其中传递给onHandleIntent的意图为空。 我甚至不确定这是怎么可能的,而且看起来非常奇怪。 任何人都可以建议为什么会发生这种情况? 堆栈跟踪 java.lang.NullPointerException at com.example.MyService.onHandleIntent(MyService.java:466) at android.app.IntentService$ServiceHandler.handleMessage(IntentService.java:65) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:136) at android.os.HandlerThread.run(HandlerThread.java:61) 我的服务文件中的第466行,其中空指针exception: 465 protected void onHandleIntent(Intent intent) { 466 Bundle data = intent.getExtras(); 该服务启动为: serviceIntent = new Intent(this, MyService.class); serviceIntent.putExtra(“ip”, ip); serviceIntent.putExtra(“port”, port); startService(serviceIntent); 编辑:我现在意识到我可能会误用IntentServices。 当我启动服务时,我从onHandleIntent()开始一些工作线程,即使在onHandleIntent()返回后也继续运行。 并通过绑定到服务并调用成员函数/回调来与线程通信。 我将研究使用更好的方法来为此目的使用服务,同时我仍然不明白传递的意图是如何为空。 我只能怀疑Android系统自己使用null意图调用onHandleIntent,这似乎很奇怪。 有人可以解释为什么android系统可能以这种方式调用它吗?

通过Gmail发送电子邮件

我有一个火灾意图发送电子邮件的代码 Intent i = new Intent(Intent.ACTION_SEND); i.setType(“text/plain”); i.putExtra(Intent.EXTRA_EMAIL, new String[] { to }); i.putExtra(Intent.EXTRA_SUBJECT, subject); i.putExtra(Intent.EXTRA_TEXT, msg); try { startActivity(Intent.createChooser(i, “Send mail…”)); } catch (android.content.ActivityNotFoundException ex) { Toast.makeText(Start.this, “There are no email clients installed.”, Toast.LENGTH_SHORT).show(); } 但是当这个意图被解雇时,我在列表中看到很多项目,如短信应用程序,gmail应用程序,Facebook应用程序等等。 如何过滤此function并仅启用gmail应用程序(或者只是电子邮件应用程序)?