Articles of android intent

在startActivityForResult返回后,不会重新创建Android parentActivity

我有一个MainActivity,在里面,我正在加载片段A.从FragmentA,我使用startActivityforResult调用google placepicker活动,如下所示。 PlacePicker.IntentBuilder builder = new PlacePicker.IntentBuilder(); Intent intent = builder.build(getActivity()); getActivity().startActivityForResult(intent,PLACE_PICKER_REQUEST); 但是当我选择地点时,onActivityResult(在FragmentA或MainActivity中)不会被调用。 事实上,我的应用程序在startActivityForResult调用后被破坏了。 根据我的理解,android应该重新创建调用活动,如果它在内存中不可用。但它没有发生。甚至没有在MainActivity中调用onCreate。 谁能告诉我这种行为背后的原因还是我错过了什么? 现在我尝试在同一个应用程序中使用另一个活动,而不是PlacePicker活动。 假设我已经加载了FragmentA MainActivity 。我使用FragmentA startActivityForResult调用SubActivity 。现在从SubActivity返回时,应用程序退出。 我已启用Dont keep activities在我的设备中Dont keep activities来测试此特定方案。 当我转向SubActivity时,我可以看到MainActivity被破坏。但是从SubActivity返回时,android没有重新创建MainActivity (即使onCreate没有被调用。应用程序刚退出)。

在Twitter上与SHARE INTENT共享文本和图像的问题

我想让用户可以与Twitter和Facebook共享图像和文本。 实际上我的代码可以启动Android的共享意图,如果用户选择Facebook,一切正常,图像被附加,文本显示在新状态的主体上。 但Twitter出了问题,如果我只把一张图片全部正常工作,图片会被推特检测到并自动上传到twipic,然后twitter在推文上发布图片的链接。 但是,如果我放置图像和文本,那么,twitter不会检测到图像,只会将文本放在推文上,图像会被忽略。 哪里不对? 这是我的代码: Intent sharingIntent = new Intent(Intent.ACTION_SEND); Uri screenshotUri = Uri.parse(“file:///sdcard/image.jpg”); sharingIntent.setType(“image/*”); sharingIntent.putExtra(Intent.EXTRA_TEXT, “Body text of the new status”); sharingIntent.putExtra(Intent.EXTRA_STREAM, screenshotUri); startActivity(Intent.createChooser(sharingIntent, “Share image using”));

在新环聊Android应用中从Intent启动Google Hangout

此前有关于从Android上的意图启动Google Hangout的讨论:在Android中启动Google Hangouts 如何使用Intent在Android中启动Google Hangout? 结论是这是不可能的。 这是一项要求的增强function: https : //code.google.com/p/google-plus-platform/issues/detail?id = 385 然而,昨天谷歌发布了一个新的环聊应用程序,带有一组新的意图。 现在可以通过意图开始环聊吗? 我使用action=android.intent.action.VIEW , data=content://plus.google.com/hangouts取得了部分成功。 但是,我想传递我想要呼叫的人的姓名或ID – 收件人姓名。 我无法弄清楚这一点。 新的基于浏览器的环聊应用程序使用如下所示的URL启动环聊: https://plus.google.com/hangouts/_/CONVERSATION/[26-character ID]?hl=en_US&hscid=[19-digit ID]&hpe=[14-character value]&hpn=[Google+ Name of Recipient]&hnc=0&hs=41. 我假设并非所有这些参数都是启动环聊所必需的,但我无法破译如何在意图中传递收件人名称。 有什么想法吗? 谢谢。

android:如何在按钮点击时更改布局?

我必须按照代码选择按钮点击时的布局。 View.OnClickListener handler = new View.OnClickListener(){ public void onClick(View v) { switch (v.getId()) { case R.id.DownloadView: // doStuff setContentView(R.layout.main); break; case R.id.AppView: // doStuff setContentView(R.layout.app); break; } } }; findViewById(R.id.DownloadView).setOnClickListener(handler); findViewById(R.id.AppView).setOnClickListener(handler); 当我单击“AppView”按钮时,布局会发生变化,但是当我单击“DownloadView”按钮时,没有任何反应。 这个链接说我必须开始一项新的活动。 但我不知道如何使用意图开始新活动的代码,是否会添加新文件? 编辑:我有关于新活动的代码: package com.example.engagiasync; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.TextView; public class AppView extends Activity implements […]

如何强制Share Intent打开特定的应用程序?

我喜欢分享意图,非常适合用图像和文本参数打开共享应用程序。 但现在我正在研究强制分享意图从列表中打开特定应用程序的方式,其中包含了分享意图的参数。 这是我的实际代码,它显示了手机上安装的共享应用列表。 请问,有人可以告诉我,我应该添加什么代码强制举例如官方Twitter应用程序? 和官方的faccebok应用程序? Intent sharingIntent = new Intent(Intent.ACTION_SEND); Uri screenshotUri = Uri.parse(“file:///sdcard/test.jpg”); sharingIntent.setType(“image/*”); sharingIntent.putExtra(Intent.EXTRA_TEXT, “body text”); sharingIntent.putExtra(Intent.EXTRA_STREAM, screenshotUri); startActivity(Intent.createChooser(sharingIntent, “Share image using”)); 谢谢

使用Android Intent.ACTION_SEND发送电子邮件

我正在使用Intent.ACTION_SEND发送电子邮件。 但是,当我调用intent它显示选择发送消息,发送电子邮件,以及通过蓝牙发送。 我希望它只显示发送电子邮件的选择。 我怎样才能做到这一点?

包重命名和错误“活动类不存在”

我有一个启动活动,开始这样的另一个活动 public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.splash); final Thread splashThread = new Thread() { @Override public void run() { try { int wait = 0; while (_isActive && (_splashTime > wait)) { sleep(100); if (_isActive) { wait += 100; } } } catch (InterruptedException e) { Log.d(TAG, e.getMessage()); } finally { startActivity(new Intent(“com.path1.path2.SomeActivity”)); finish(); […]

为什么Android文档说intent extras需要包前缀

根据Android docs Intent额外名称必须有一个包前缀。 我一直在使用没有前缀的Intent额外名称,似乎没有碰撞的机会,因为真正重要的是Intent动作是独一无二的。 那些文档是错误的还是我错过了什么? putExtra的文档说: 将扩展数据添加到intent。 名称必须包含包前缀,例如app com.android.contacts将使用“com.android.contacts.ShowAll”之类的名称。

Intent putExtra方法的最大长度? (强制关闭)

我需要一些调试我的应用程序的帮助。 首先:在模拟器和其他设备上,我的应用运行正常。 在我的设备上,我关闭了一个力(没有强制关闭消息)。 如果应用程序的活动发生更改,则会发生“崩溃”。 以下是MainActivity类的一些代码。 它只是通过webview从网页上读取html内容。 不,不可能通过HttpRequest执行此操作,因为我无法模拟发布请求。 public class MainActivity extends Activity { public final static String EXTRA_HTML = “com.example.com.test.HTML”; private WebView mWebView; private ProgressDialog mDialog; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mWebView = (WebView) findViewById(R.id.webView1); CookieSyncManager.createInstance(this); CookieManager cookieManager = CookieManager.getInstance(); cookieManager.removeAllCookie(); mWebView.setBackgroundColor(0); mWebView.setWebChromeClient(new WebChromeClient() { public boolean onConsoleMessage(ConsoleMessage cmsg) { if (cmsg.message().startsWith(“MAGIC”)) […]

Android:在执行时获取“无法重新加载AVD列表:”错误

在exectution时我得到一个错误 无法重新加载AVD列表:cvc-enumeration-valid:对于枚举'[ldpi,mdpi,tvdpi,hdpi,xhdpi,400dpi,xxhdpi,560dpi,xxxhdpi]’,值’280dpi’不是facet-valid。 它必须是枚举中的值。 解析C:\ Users \ Binil \ AppData \ Local \ Android \ sdk \ system-images \ android-22 \ android-wear \ armeabi-v7a \ devices.xml cvc-enumeration-valid时出错:值’280dpi’不是方面 – 有效的枚举'[ldpi,mdpi,tvdpi,hdpi,xhdpi,400dpi,xxhdpi,560dpi,xxxhdpi]’。 它必须是枚举中的值。 我正在使用android studio。 dependencies { compile fileTree(dir: ‘libs’, include: [‘*.jar’]) compile ‘com.android.support:appcompat-v7:22.2.1’ } 任何人都可以告诉我如何纠正这个错误。