Tag: android intent

intent.setType(type)可能的意图types是什么?

我正在寻找如何从我的应用程序发送电子邮件,我碰到这个话题: 如何从我的Android应用程序发送电子邮件 它解决了给他的动作增加一个types的问题发送: i.setType("message/rfc822"); 这也适用于我,我可以发送我的电子邮件,这很好。 我只是想知道我还能在那里设置什么。 我知道,如果我不设置任何东西,它会显示所有可用选项的列表。 我想强制用户使用我select的任何选项来分享它。 我可以探索这个强迫用户分享我想要的任何方式吗?

通过意向发送短信

我想通过意向发送短信,但是当我使用这个代码时,它将我redirect到错误的联系人: Intent intentt = new Intent(Intent.ACTION_VIEW); intentt.setData(Uri.parse("sms:")); intentt.setType("vnd.android-dir/mms-sms"); intentt.putExtra(Intent.EXTRA_TEXT, ""); intentt.putExtra("address", phone number); context.startActivity(intentt); 为什么? 另外,我知道一个方法来跟随短信发送,但我不知道如何代码: Starting activity: Intent { act=android.intent.action.SENDTO dat=smsto:%2B**XXXXXXXXXXXX** flg=0x14000000 cmp=com.android.mms/.ui.ComposeMessageActivity } XXXXXXXXXXXX是电话号码。

Android意图上下文混淆

有人可以向我解释这一点: Intent intent = new Intent(Context, AlarmReceiver.class); 我从来没有理解,我认真地认为,如果有人不尝试深入解释这一点,我永远不会。 这整个上下文对我来说是如此混乱。 有时它的工作原理如下: Intent intent = new Intent(getBaseContext(), AlarmReceiver.class); 有时它不会那样工作,但它只接受: Intent intent = new Intent(context, AlarmReceiver.class); 有时它的: Intent intent = new Intent(this, AlarmReceiver.class); 等等等等等等。 我了解上下文的基本知识,但有多less? 为什么日食会给我一次错误,而又一次罚款呢? 为什么我们有时需要申报上下文? : Context context; 我无法find适合所有情况的正确环境,我怎么知道在任何情况下都是正确的?

Android中的意图filter是什么?

在我的android应用程序中,我想从最初的活动“A”开始一个活动“B”。 我已经创build了这两个类。 但是,当使用以下代码启动B时,出现运行时错误: application has stopped unexpectedly, try again 。 这是我的代码: Intent myIntent = new Intent(this, AddNewActivity.class); startActivity(myIntent); 当我在AndroidManifest.xml/manifest/application/activity/intent-filers为活动B添加一个新条目时,应用程序就可以工作了。 我有两个问题: 当AndroidManifest.xml有多个活动条目时,android如何知道首先启动哪个活动? 我无法理解意图filter。 任何人都可以请解释。 这是我的部分AndroidManifest.xml <application android:icon="@drawable/icon" android:label="@string/app_name"> <activity android:name=".ListAllActivity" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name=".AddNewActivity" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application>

Intent.ACTION_GET_CONTENT和Intent.ACTION_PICK之间的区别

我试图让用户select任何他们想要在他们的设备上使用的图像作为壁纸应用程序,我正在build设。 出于某种原因,当我写: Intent myIntent = new Intent(Intent.ACTION_PICK); myIntent.setType("image/*"); startActivityForResult(myIntent, 100); 我直接去画廊,但是当我写: Intent myIntent = new Intent(Intent.ACTION_GET_CONTENT, null); myIntent.setType("image/*"); startActivityForResult(myIntent, 100); 我可以从Gallery或Google Drive中进行select。 什么是最好的方式让用户select什么应用程序来检索图片从每一次? 或者为什么这两个不同的意图常数有什么不同?

android.intent.action.MAIN是什么意思?

我已经看到了许多不同的困惑。 <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> 是什么意思 <action android:name="android.intent.action.MAIN" /> 和 <category android:name="android.intent.category.LAUNCHER" /> 和 <category android:name="android.intent.category.DEFAULT" />

使用广播意图/广播接收机将消息从服​​务发送到活动

所以我理解(我认为)广播意图和接收消息给他们。 所以现在,我的问题/我无法解决的是如何从接收器的onReceive方法发送消息到活动。 比方说,我有一个接收器: public class ReceiveMessages extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { String action = intent.getAction(); if(action.equalsIgnoreCase(TheService.DOWNLOADED)){ // send message to activity } } } 我将如何发送消息给一个活动? 我是否必须在接收者中实例化我想要发送消息并以某种方式进行监视的活动? 或者是什么? 我理解这个概念,但不是真正的应用。 任何帮助将是绝对惊人的,谢谢。 汤姆

从Eclipse运行我的应用程序时出现exception

我已经有这个问题近2个月了,无法弄清楚。 问题是,如果我的应用程序正在运行,并且从Eclipse运行(重新安装)我的应用程序,则会收到一条错误消息,指出我的应用程序崩溃了“不幸的是,已经停止”。 我注意到,当我从PC / Eclipse运行它时,它也会发生,我认为只有在我不运行它一段时间后才会发生。 只有当应用程序在第三个活动( BaseDiagramActivity )中处于活动BaseDiagramActivity ,然后从Eclipse再次运行应用程序时才会发生。 除了3个活动,我已经基本上除掉了所有的应用程序,现在还在发生。 我search了这个问题的解决scheme,但找不到任何好的答案或适用于我的。 它似乎不像硬件或Android版本的问题,因为我在我的平板电脑(4.0.3)和我的手机(4.0.2,更新前4.0.1发生)上运行这个问题。 当然,除非是冰淇淋夹心cookies。 让我知道是否有更多的信息是必需的。 例外(Tag = AndroidRuntime) FATAL EXCEPTION: main java.lang.RuntimeException: Unable to instantiate application android.app.Application: java.lang.NullPointerException at android.app.LoadedApk.makeApplication(LoadedApk.java:482) at android.app.ActivityThread.handleBindApplication(ActivityThread.java:3938) at android.app.ActivityThread.access$1300(ActivityThread.java:123) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1185) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:137) at android.app.ActivityThread.main(ActivityThread.java:4424) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:511) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551) at dalvik.system.NativeStart.main(Native Method) Caused by: […]

无法获得eclipse IDE上的项目的系统库

我正在研究一个android教程,它希望我从另一个项目导入库。导入工作,项目正常工作。 但是我注意到这样做搞砸了我的其他几个项目(使用Android 2.1)显然搞乱了构buildpath。 现在,而不是在gen文件夹下看到“Google APIs [Android 2.1]”,我看到"Unable to get system library for project" 。 我validation了以下内容: 我右键单击该项目,然后进入Properties我看到正确的Project Build Target被检查(Google API [Android 2.1]),但是“无法获取项目的系统库”仍然显示在资产文件夹的上方, 下面是gen和Android的依赖。 清理所有项目并没有帮助。 我该如何解决这个问题? 有没有办法来解决这个问题,全球或我必须一个接一个地做?

奥托vs LocalBroadcast:

我是开源贡献广场的一个巨大粉丝,已经为Android社区做了一些工作,并且正在研究他们最新的贡献Otto(事件总线) http://square.github.io/otto/ 深入挖掘,我发现Otto使用reflection,没有有序的广播(一个未消耗的消息从一个接收器传递到下一个接收器,在相同types的事件中聆听)Otto相信更多的消失模型。 现在,android在其v4支持库中提供了LocalBroadcastManager (LBM),它可以达到同样的目的,虽然它比较笨重,并且对传递的对象有更多的限制。 但在更明亮的一面,它确实支持有序的广播,更像是正常的广播。 奥托和LBM都在同一个进程空间内,所以在速度方面我想两者都是一样的。 我能看到的唯一真正的区别是,Otto允许你定义自定义事件,而且你不必序列化/包裹对象。 因此,我真正的问题是,如果LBM做同样的事情,你会在什么时候使用Otto。 参考文献 http://nick.perfectedz.com/otto-event-system/ 使用Intents或事件总线在相同的应用程序内进行通信 https://plus.google.com/107049228697365395345/posts/6j4ANWngCUY