Articles of android intent

Android打开Waze和Google地图的意图

有一些类似的post,但我找不到一个确切的post。 基本上,我想以同样的意图打开Goog​​le地图和Waze。 起初我试过这个: final String uri = String.format(Locale.ENGLISH, “geo:%f,%f”, latitude, longitude); final Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(uri)); startActivity(intent); Waze直接导航到正确的位置,Google地图打开了正确的位置。 然后我意识到谷歌地图没有在该位置放置一个引脚,因此用户很难知道它到底在哪里。 所以我环顾四周,意识到Google地图需要“?q = ..(标签)”…我将uri构造更改为: final String uri = String.format(Locale.ENGLISH, “geo:%f,%f?q=%f,%f (%s)”, latitude, longitude, latitude, longitude, name); 但随后Waze做了两件事:导航到正确的地方并在标签上搜索。 这要求用户单击后退按钮以关闭搜索结果屏幕并保持导航到正确的位置。 我到处寻找答案,但未能find能够实现两者的解决方案。 起初我认为这是不可能的,Waze有一个bug …但后来我注意到Facebook Messenger正在做我想要的。 当点击带有位置的消息时,它将打开两个应用程序:Google地图将有一个图钉(带有标签),Waze将直接导航到该位置而不运行搜索。 关于上述问题的几个问题:1。(当然)我怎样才能做到这一点? 2.我怎么知道Facebook Messenger的意图是如何构建的? (无论如何我都可以抓住它)3。标签只有“?q = ..”的原因是什么? 谢谢

Android启动应用详细信息页面

我正在开发一个应用程序,我用包管理器列出已安装的应用程序。 我可以获取单击项目的包名称,但我想根据包启动详细信息屏幕。 因此,例如,如果在列表中选择了Dolphin Browser,您将看到以下图像。 我怎样才能做到这一点? 最终解决方案将您的目标设置为Gingerbread API级别9,并将您的min设置为API级别7 final int apiLevel = Build.VERSION.SDK_INT; Intent intent = new Intent(); if (apiLevel >= 9) { //TODO get working on gb //Toast.makeText(SDMove.this, “Gingerbread Not Currently Supported”, Toast.LENGTH_LONG).show(); startActivity(new Intent(android.provider.Settings.ACTION_APPLICATION_DETAILS_SETTINGS, Uri.parse(“package:” + pli.pkg.packageName))); } else { final String appPkgName = (apiLevel == 8 ? “pkg” : “com.android.settings.ApplicationPkgName”); intent.setAction(Intent.ACTION_VIEW); intent.setClassName(“com.android.settings”, “com.android.settings.InstalledAppDetails”); […]

在Android中使用ContactsContract插入联系人

我正在尝试直接向Android 2.2联系人添加新联系人。 //this code doesn’t work ContentValues cv=new ContentValues(); cv.put(ContactsContract.Contacts.DISPLAY_NAME, “TESTEST”); Uri u= getContentResolver().insert(ContactsContract.Contacts.CONTENT_URI, cv); 给我错误“自动创建聚合联系人”。 我究竟做错了什么? 这会调用Android的添加联系人表单 : //this code works but it’s not ideal Intent i = new Intent(Intent.ACTION_INSERT_OR_EDIT); i.setType(Contacts.CONTENT_ITEM_TYPE); i.putExtra(Insert.NAME, “TESTTEST”); i.putExtra(Insert.PHONE, “209384”); startActivity(i); 我无法弄清楚如何发送它的名字和姓氏 – 只是它放在名字框中的’名字’。 此外,我想将邮政编码分为街道,城市,州和邮政编码,现在这些编码都被放入街道邮箱。

获取能够处理SEND意图的应用程序列表以显示在视图中(而不是popup对话框)

我正在尝试获取能够处理SEND意图的手机上安装的所有应用程序的列表。 我目前正在使用Intent.createChooser处理这种情况,但这不是我想要实现的,因为我希望能够访问应用程序列表以在我的活动中的View中显示它们,方式类似Android库存图库应用程序如何显示它们而不是在微调器对话框中。 屏幕截图可在此处获取: http : //i.stack.imgur.com/0dQmo.jpg 任何帮助将不胜感激。

Android致命错误 – 在onSaveInstanceState之后无法执行此操作

我在Android中请求权限后尝试执行片段事务 – 但应用程序不断崩溃。 如何更改此代码以避免这种情况? 任何帮助表示赞赏。 在发送电子邮件之前检查许可: private void emailShare() { if (mayRequestContacts()) { emailShareImpl(); } } 检查许可: private boolean mayRequestContacts() { if (Build.VERSION.SDK_INT < Build.VERSION_CODES.M) { return true; } requestPermissions(new String[]{READ_CONTACTS}, REQUEST_READ_CONTACTS); return false; } 允许检查结果: @Override public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) { if (requestCode == REQUEST_READ_CONTACTS) { if (grantResults.length == 1 […]

如何在android中动态创建Button?

我想创建一个这样的页面。 这7个按钮已经存在但是如果用户想要添加更多类别(按钮),那么他可以使用+按钮并使用–按钮删除。 这个有什么想法或教程吗?

Android按钮onClickListener

我是Android开发的新手。 我试图在我的OnClickListener方法中打开新的Activity 。 我应该写什么以及OnClickListener方法如何工作?

需要FLAG_ACTIVITY_NEW_TASK澄清

所以我的问题是: 我启动App1,打开Screen1,然后打开Screen2。 我按Home,将App1留在后台。 我打开App2,用FLAG_ACTIVITY_NEW_TASK启动App1.Screen1,期望在前面左侧任务中的App1.Screen2上。 相反,我在App1.Screen1和系统上调用onNewIntent()。 当我按下它时再次带来Sceen2和Screen1。 我不使用任何其他意图标志或启动模式。 有人能解释一下发生了什么吗?

如何将EditText设置为仅输入hex数字?

我会在此代码中添加一个EditText控件,以便它只接受hex数字。 我该怎么做呢? bin = (EditText)findViewById(R.id.editText02); hex = (EditText)findViewById(R.id.editText3); dec = (EditText)findViewById(R.id.editText1); oct = (EditText)findViewById(R.id.editText04);

Android Intents:使用具有相同sharedUserId的其他应用程序使用类名启动活动

我的所有应用都有相同的sharedUserId。 我想使用我当前应用程序的类开始另一个应用程序的类。 我想使用intent extras但我不想使用意图URL。 我也不想更改目标活动应用的AndroidManifest。