Articles of android intent

如何在Android中find意图源?

可能重复: Android:如何获得一个意图的发件人? 有没有办法在androidfind触发一个INTENT的源活动(在目标活动)? 这个场景是我有两个活动A和B.两个都有意图调用活动C.活动C根据它的来源显示额外的信息。 例如。 如果来自A的呼叫,那么C仅显示2个文本视图,而在由B打开的意图的情况下,活动C显示3个文本视图(基本上基于谁是呼叫者的更多信息)。 为了build立这个,我需要知道是谁开了C的意图 。 我该怎么做呢?

在android 1.6中启动一个没有过渡animation的新活动

我知道,从API级别5可以指定一个标志,以防止正常的animation应用当我开始一个新的活动: myIntent.setFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION); 但是,我的问题是:有没有办法在支持android 1.6的应用程序中实现相同的function?

Android上的绑定器callback是什么?

我一直在观看Virgil Dobjanschi的Google I / O演示,以正确的方式在服务和内容提供商的Android上实现REST。 http://code.google.com/events/io/2010/sessions/developing-RESTful-android-apps.html 根据video,我做错了事情,考虑到正确的道路是多么的艰难,这并不奇怪。 无论如何,已经显示在video中的承诺土地,我有一个问题,找出如何到达那里。 我有大部分钉牢,但有一件事是击败我是维吉尔在幻灯片(参见上面的链接)引用的活页夹callback,在第43页,它显示第2步作为启动服务startService(意图)和第10步返回状态信息使用活页夹callback。 演示文稿中没有任何示例代码,这是相当令人沮丧的。 有一个开放采购的Twitter客户端显然使用这种方法,但什么都没有,并宣布是在四月的谈话。 在video中,他指出:“什么是绑定器callback?绑定器callback,将其视为在请求意图中传递的接口。” 我已经搜遍遍地,但一直没能find任何文件或例子,显示如何通过callback作为意图的一部分。 我也不能找出任何其他方式传递callback。 我以为他可能指的是绑定到服务和实现callback这种方式。 但是,他具体指的是本地服务,使用strarSerice()而不是bindService()。 另外bindService()服务将被销毁,如果活动被破坏,从而破坏了这个想法。 解决方法是使用startService(),然后使用bindService()并保持服务运行持续时间。 bindService()的另一个问题是直到onServiceConnected()完成后才能使用callback函数,这使得代码更加复杂,因为操作指令无法在意图中传递,因为callback函数可能没有及时返回结果。 我只是有兴趣使用推荐的方法来实现这一点。 任何人都可以阐明一个活页夹callback是什么以及如何编码。 也与此有关,有没有人知道什么样的服务助手将看起来像狂欢一个单身人士? 任何帮助在这里将不胜感激。 谢谢克莱夫

发送暂停给拨号程序

在类似的发送暂停和DTMFinputandroid ,我试图发送暂停字符“,”到拨号。 这在HTC Sense手机上甚至在Xoom上都可以使用,而不是像Nexus One或T-Mobile G2这样的“股票体验”手机(我怀疑Motorola Droid)。 这些手机似乎有一个拨号器,试图美化格式的数字(即添加短划线),并停止击中逗号字符。 有趣的是,它不会扼杀一个“p”字符,尽pipe它会去掉“p”并且不断添加数字。 以下是ActivityManager所看到的内容: I/ActivityManager( 92): Starting activity: Intent { act=android.intent.action.DIAL dat=tel:8883333,444 cmp=com.android.contacts/.DialtactsActivity } 我也试过编码的forms,“电话:8883333%2C444”在这些手机上的行为没有区别。 我已经尝试了“p”,如上所述,但是这些字符被丢弃导致拨号程序有888-333-3444错误地填充,我不确定“p”是否正确无论如何。 所以,问题:有没有一种方法来指定在大多数或所有的android拨号程序工作的暂停?

Android:没有发现处理意图错误的活动? 它将如何解决

找不到处理Intent错误的活动? 它将如何解决。 Preference customPref = (Preference) findPreference("DataEntryScreen"); customPref .setOnPreferenceClickListener(new OnPreferenceClickListener() { public boolean onPreferenceClick(Preference preference) { Intent i = new Intent("com.scytec.datamobile.vd.gui.android.AppPreferenceActivity"); startActivity(i); return true; } });

android等待意图通知问题

我在我的应用程序中发生了一个警报事件,它会启动一个通知,然后按下时启动一个活动。 问题是,当我创build多个警报时,从通知中启动的活动获得与第一个相同的额外资源。 我认为这个问题或者是出于意图,或者是等待意图本身。 我想我可能需要在其中的一个标志,但我不知道哪一个。 Intent showIntent =new Intent(context, notificationreceiver.class); showIntent.putExtra("details", alarmname); PendingIntent contentIntent = PendingIntent.getActivity(context, 0, showIntent, 0); notification.setLatestEventInfo(context, "The event is imminent", alarmname, contentIntent); 和通知的接收者 Bundle b = getIntent().getExtras(); String eventname = b.getString("details"); details.setText(eventname); 下一次发生通知而不是具有不同的值时,“细节”额外是相同的。 在我设定意图之前,我确信正确的价值是“细节”,所以每次我按任何通知时,都会得到第一个意图的问题。 我怎样才能使其发起正确的意图? 希望我尽可能清楚,谢谢!

getIntent()其他总是NULL

我写了一个简单的Android应用程序,显示一个自定义通知像这样: Context context = getApplicationContext(); NotificationManager manager = (NotificationManager)getSystemService(NOTIFICATION_SERVICE); Notification notification = new Notification( R.drawable.icon, title, System.currentTimeMillis()); Intent notificationIntent = new Intent( context, this.getClass()); notificationIntent.putExtra("com.mysecure.lastpage", "SECURECODE"); PendingIntent pendingIntent = PendingIntent.getActivity( context , 0, notificationIntent, 0); notification.flags = notification.flags | Notification.FLAG_ONGOING_EVENT; notification.contentView = new RemoteViews(context.getPackageName(), R.layout.notifypbar); notification.contentIntent = pendingIntent; notification.contentView.setTextViewText(R.id.notifypb_status_text, text); notification.contentView.setProgressBar(R.id.notifypb_status_progress, 100, (int)(100*progress), false); manager.notify(104, […]

Intent.FLAG_ACTIVITY_CLEAR_TASK的替代方法

我有两个应用程序App-B启动App-A。 如果用户从应用程序AI内部启动应用程序B,则应用程序A完成,所以我没有问题。 如果用户从应用程序抽屉直接进入应用程序B或长按主页button,则在应用所有附加function之前,首先执行下面清除App A中的任务。 这有理想的影响,但只适用于API 11.在较低的API上,APP-A中的新任务不会改变,extras putExtra将不起作用。 FLAG_ACTIVITY_CLEAR_TASK替代方法? 对于API <= 10? Intent i = new Intent("com.App-A"); i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK); 谢谢 贾森

当接收到ACTION_SEND意图时,Gmail 5.0应用程序失败,并且“权限拒绝附件”

我的应用程序创build附件的邮件,并与Intent.ACTION_SEND使用意图启动邮件应用程序。 它适用于我testing过的所有邮件应用程序,除了新的Gmail 5.0(它适用于Gmail 4.9),邮件打开时没有附件,显示错误:“拒绝附件的权限”。 在logcat上没有来自Gmail的有用消息。 我只在Android KitKat上testingGmail 5.0,但在多个设备上testing。 我创build了这样的附件文件: String fileName = "file-name_something_like_this"; FileOutputStream output = context.openFileOutput( fileName, Context.MODE_WORLD_READABLE); // Write data to output… output.close(); File fileToSend = new File(context.getFilesDir(), fileName); 我知道MODE_WORLD_READABLE的安全问题。 我发送这样的意图: public static void compose( Context context, String address, String subject, String body, File attachment) { Intent emailIntent = new Intent(Intent.ACTION_SEND); emailIntent.setType("message/rfc822"); emailIntent.putExtra( […]

Google的Messenger应用程序不会在发送彩信时附加图像

我无法通过Google的Messenger应用程序发送带有图片的彩信。 虽然一些Android设备默认安装这个短信应用程序,并为此,当我发送彩信使用Intent比它不工作。 问题是ToNumber和MMS内容设置,但图像不附加在这个应用程序。 注意:我已经在我的设备上设置了MMS APN设置,并且我已经使用相同的应用程序(如Samsung s4,Motorola G4 Plus)检查了多个设备。 这是我目前使用的代码。 String toNumbers = "comma seperated mobile numbers"; if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { String defaultSmsPackageName = Telephony.Sms.getDefaultSmsPackage(getActivity()); Intent sendIntent = new Intent(Intent.ACTION_SEND); sendIntent.putExtra("address", toNumbers); sendIntent.setPackage("com.android.mms"); //Uri uri = Uri.fromFile(new File(getContext().getExternalFilesDir(""), "image.png")); File imagePath = new File(getFilesDir(), "images"); File newFile = new File(imagePath, "image.png"); Uri uri = getUriForFile(this, […]