Articles of android intent

我是否从亚马逊app store获得INSTALL_REFERRER意图?

我找不到任何文档提到亚马逊app store是否会像Google Play一样发送推介Intent后安装。 虽然亚马逊的文档确实说我们可以在“ref”下的URL中设置引荐来源信息(与Google Play中的“引用者”相比),但它没有明确说明它们将如何传递给应用程序。 如果我确实收到了Intent ,我应该这样做 extras.getString(“ref”) 代替 extras.getString(“referrer”) ?

从缓存目录中共享图像文件通过Intent~android

我试图在缓存目录中共享图像文件,我有完整的路径,但无法在附件中发送文件,代码是 File shareImage=Utils.getBitmapFile(); Log.d(“Activity”, “get final path in result”+shareImage.getAbsolutePath()); /*MimeTypeMap mime = MimeTypeMap.getSingleton(); String ext=shareImage.getName().substring(shareImage.getName().lastIndexOf(“.”)+1); String type = mime.getMimeTypeFromExtension(ext); shareIntent.setType(type); Intent shareIntent = new Intent(Intent.ACTION_SEND); shareIntent.setType(“image/*”); Uri shareImageUri = Uri.fromFile(shareImage); Uri shareImageUri = Uri.fromParts(“content”, shareImage.getAbsolutePath(), null);//(“content://”+shareImage.getAbsolutePath()); */ Uri shareImageUri = Uri.fromFile(shareImage); Log.d(“Result “,”uri is “+shareImageUri.toString()); shareIntent.putExtra(Intent.EXTRA_STREAM, shareImageUri); startActivity(Intent.createChooser(shareIntent, “Share Results”)); 上面注释的代码不起作用 发送邮件显示附件,但没有收到结束没有附件,Facebook分享也显示邮件中没有图像 这是什么原因? 我已经看到以下SO链接如何使用共享图像使用共享意图共享图像在Android和许多其他人,他们都没有能够解决问题 PS; […]

Activity.finishAffinity()vs Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK

在Android中,如果要清除当前的Activity堆栈并启动新的Activity (例如,退出应用程序并在Activity启动日志),似乎有两种方法。 如果您的目标API级别高于16,那么一个优势是否有任何优势? 1)完成亲和力 从Activity调用finishAffinity() 。 Activity.finishAffinity 2)意图标志 Intent intent = new Intent(this, LoginActivity.class); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK); startActivity(intent); finish(); finishAffinity()方法适用于> = API 16。 Intent标志方法适用于> = API 11。 需要明确的是,为了清除当前的Activity堆栈,两种方法似乎也同样有效。 我的问题是,人们经历过的问题是否有问题,因此,有没有理由选择其中一个?

使用等在android中发送html电子邮件 – 是否真的没有相对内置的Intent方式?

我已经阅读了很多关于从android发送html电子邮件的限制。 发送html电子邮件的所有建议似乎只是将Html.fromHtml(yourHtmlString)传递给意图为Intent.EXTRA_TEXT。 这适用于一些基本标签 – 粗体,斜体 – 但不适用于像html表这样的任何东西。 看起来您可以尝试扩展Html的一些function或实现自己的标签处理程序,但我想知道是否没有更基本的限制会迫使您做一些完全不同的事情(比如邮件api或者某些东西) )。 我建议这个的原因是因为,就意图本身而言,Html.fromHtml(blah)只是一个charsequence,如果你在这个对象的charsequence接口上调用方法,你就看不到任何html的东西了(at至少我没有)。 所有的html / tag东西似乎都包含在Html.fromHtml实际返回的SpannableStringBuilder中……我想知道gmail应用程序是否在封面下查看真正的charsequence然后可以处理几个标签,这意味着没有希望在你的应用程序方面做任何事情来获取/欺骗gmail应用程序来处理比粗体,斜体等更复杂的事情。 我查看了gmail应用程序实际发送的原始电子邮件,它会自动发送没有标签的text / plain和带有有限数量标签的text / html版本。 我甚至尝试坚持一些转义的html标签,这些标签最终可能会转换为电子邮件的text / html部分中的实际标签,但是他们仍然逃脱了…这当然有点hacky。 无论如何,对于任何可能更多关注此事的人,我想做一个额外的确认,默认的android“发送html电子邮件”function会让你疯狂地接近你可能需要的东西,但最后你必须咬子弹并自己实现许多较低级别的东西(例如使用JavaMail API在Android中发送电子邮件而不使用默认/内置应用程序 ,这意味着你必须处理pw的东西等)。 注意(稍后):我将从Html.fromHtml返回的SpannableStringBuilder与一个扩展SpannableStringBuilder的自定义类包装起来,并将其传递给意图侦听对Spanned接口的调用。 事实certificate,当事物被写入发送到电子邮件意图的包裹时,TextUtils.writeToParcel会通过首先检查CharSequence是否是Spanned的实例来进行一些特殊检查以根除粗体/斜体,然后要求跨度(通过spanned.getSpans)。 尽管如此,我认为没有明显的希望进行修改以获得像在那里处理的table / td标签那样简单的东西。 我甚至尝试修改我的SpannableStringBuilder子类的toString()来返回一些原始表html以查看会发生什么,但它会在包裹写入过程中的其他地方转义。 更多(稍后):TextUtils.writeToParcel(CharSequence cs,Parcel p,…)如果cs是“Spanned”的实例,只有在它们实现“ParcelableSpan”接口时写入这些跨度…这是“对于将用作文本跨度“和”的对象的一种特殊的Parcelable只能由框架中的代码使用;它不适用于应用程序实现自己的Parcelable spans“。 所以,即使你想要挂钩并写自己来处理表标签或其他什么,似乎也不鼓励。 男人,我希望hackbod会在这里与我错过的一些明显的东西相比。

什么是“上下文菜单”和方法registerForContextMenu()

在Activity类中,有一个名为registerForContextMenu(View view) 。 android文档解释了此方法用于注册要为给定视图显示的上下文菜单(多个视图可以显示上下文菜单)。 “ 上下文菜单 ”是什么意思? 这是指物理菜单按钮还是什么? 我还需要关于方法registerForContextMenu(View view)一些解释,我不清楚只是在线阅读文档。

SecurityException:不允许启动服务Intent act = com.google.android.c2dm.intent.REGISTER

我得到错误SecurityException: Not allowed to start service Intent但看起来在搜索许多主题后它没有很好的解决方案。 请帮帮我, 谢谢, p / s: 我确保使用了正确的SENDER_ID因为项目编号是在Google API Console定义的,并且正确的package name 。 错误: Caused by: java.lang.SecurityException: Not allowed to start service Intent { act=com.google.android.c2dm.intent.REGISTER pkg=com.google.android.gms (has extras) } without permission com.google.android.c2dm.permission.RECEIVE at android.app.ContextImpl.startServiceAsUser(ContextImpl.java:1785) at android.app.ContextImpl.startService(ContextImpl.java:1757) at android.content.ContextWrapper.startService(ContextWrapper.java:480) at com.google.android.gms.gcm.GoogleCloudMessaging.e(Unknown Source) at com.google.android.gms.gcm.GoogleCloudMessaging.register(Unknown Source) at controller.RegisterGCMClientAsync.doInBackground(RegisterGCMClientAsync.java:62) at controller.RegisterGCMClientAsync.doInBackground(RegisterGCMClientAsync.java:18) at android.os.AsyncTask$2.call(AsyncTask.java:287) at […]

添加联系人意图不会返回ICS下的onActivityResult数据

我希望我的应用程序通过Android上的标准联系人界面提示用户创建新联系人。 然后我希望能够从新创建的联系人中读取信息。 我的代码基于此网站的“添加新联系人”。 Intent intent = new Intent(Intent.ACTION_INSERT); intent.setType(Contacts.CONTENT_TYPE); intent.putExtra(ContactsContract.Intents.Insert.PHONE, number); startActivityForResult(intent, PICK_CONTACT); 接着 @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { Intent intent = new Intent(this, Foo.class); Uri uri = data.getData(); //I get nullpointer here on ICS intent.putExtra(“contact”, ContactAccessor.getInstance().loadContact(this, uri)); startActivity(intent); finish(); } 此代码在Android 2.2和2.3上运行良好。 它启动联系人应用程序,让用户输入名称和电子邮件地址等内容,当它们完成后点击“确定”或“保存”或“无论什么”它返回到我的应用程序,我可以阅读他们输入的内容。 在Android 4.0(ICS)上,当用户完成创建联系人时,它不会返回到我的应用程序。 当我退出联系人视图(通过后退按钮)时,它不包含任何具有联系信息的意图。 我应该用什么意图在ICS上获得相同的行为?

用于相机的surfaceview在android lollipop os中不起作用

今天我在android surfaceview for camera customization 。 我尝试了下面的代码。 拍摄图像时出现问题,它会停止相机预览并且不会返回活动。 以下代码将在程序中实现。 我从stackoverflow上的现有引用中获取此代码 支持class级。 public class AndroidCameraSurfaceview extends Activity implements SurfaceHolder.Callback { TextView testView; Camera camera; SurfaceView surfaceView; SurfaceHolder surfaceHolder; boolean preview; PictureCallback rawCallback; ShutterCallback shutterCallback; PictureCallback jpegCallback; int displayheight, displaywidth; Camera.PreviewCallback previewCallback; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { […]

有什么方法可以启动我的应用程序?

我可以启动我的应用程序: 在启动器中点击其图标 注册“可见”意图filter(我的意思是 – 用户点击,例如“发送…”然后选择我的应用) 在拨号器输入数字代码和“调用” – “隐形”意图,用户无法选择应用程序,他只需输入代码 有没有其他方法来启动我的应用程序? (我最感兴趣的是第3段中的“隐形”意图)。 假设我们只有默认系统应用程序(最受欢迎的Google应用程序也被视为默认设置)和我的应用程序 普通用户的方式是首选,但更困难的方法也是有用的 可以在一个设备上使用的变体(没有其他设备需要接近)是优选的,但“多于一个设备的变体”也是有用的。

在Android中获取Contact Sync的更新联系人

我正在使用Android中的Contact Sync,我已经成功完成了首次使用Contact Sync。 这就是我在做的事情。 1.获取所有联系人并使用Contact._ID保存数据库中的每个联系人2.获取姓名和电话号码并保存在数据库中。 之后,我将联系人数据发送到服务器,以便更新服务器。 现在问题是如何检查我的特定联系人是否更新? 我已经实现了广播接收器,以便我的应用可以了解联系人的更新/添加/删除。 但我想特别联系。 我find了一个解决方案,即Dirty Flag。 它告诉我们联系方式是否更新,以下是参考链接: http : //developer.android.com/reference/android/provider/ContactsContract.RawContacts.html 但我无法使用这个脏旗,有人可以通过实施脏旗帮助我。 提前致谢 !