Questions tagged «android-intent»

有关实际,高级使用意图,意图额外和待决意图来启动活动,服务或通过BroadcastReceiver响应系统或应用程序事件/通知的问题。(有关基本知识,请参阅信息)

12
如何针对ACTION_SEND意图过滤特定应用(并为每个应用设置不同的文本)
使用ACTION_SEND意图时如何过滤特定的应用程序? 已经以各种方式提出了这个问题,但是我无法根据给出的答案来收集解决方案。希望有人可以提供帮助。我想提供在应用程序内共享的功能。遵循Android Dev Alexander Lucas的建议,我更愿意使用意图而不是使用Facebook / Twitter API。 使用ACTION_SEND意图进行共享非常棒,但是问题是(1)我不想在其中使用每个共享选项,而是将其限制为FB,Twitter和Email,以及(2)我不想共享每个共享应用程序都是一样的。例如,在我的Twitter共享中,我将包含一些提及,并且标签将其限制为140个字符或更少,而Facebook共享中将包含链接和功能图片。 是否可以限制ACTION_SEND(共享)意图的选项?我已经看到了有关使用PackageManager和queryIntentActivities的信息,但是还无法弄清PackageManager和ACTION_SEND意图之间的联系。 要么 如果我可以使用ACTION_SEND意图直接转到Facebook或Twitter,而不是弹出对话框,则可以解决我的问题,而不是过滤共享应用程序。如果是这种情况,那么我可以创建自己的对话框,当他们单击“ Facebook”时,创建一个特定于Facebook的意图,然后将它们一直发送到Facebook。与Twitter相同。 还是不可能?Facebook和Twitter API是唯一的方法吗?

15
如何正确返回上级活动?
我的Android应用程序中有2个活动(A和B),并且使用了从活动A到活动B的意图。启用了parent_activity的使用: <activity android:name=".B" android:label="B" > <meta-data android:name="android.support.PARENT_ACTIVITY" android:value="com.example.app_name.A" /> </activity> 我还使用提供UP按钮的主题。 因此,在我调用活动BI之后,BI可以使用UP按钮返回活动A。问题是应用程序似乎再次调用了活动A 的onCreate() -函数,这不是我需要的行为。我需要活动A的外观与调用活动B之前的外观相同。 有没有办法做到这一点? 提前致谢 编辑: 我没有编写任何代码来从活动A开始活动B。我认为它是由Eclipse自动生成的。 B类看起来像: @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_b); getActionBar().setDisplayHomeAsUpEnabled(true); } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.activity_b, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case …

12
可打包遇到IOException,正在编写可序列化的对象getactivity()
所以我在logcat中得到这个: java.lang.RuntimeException: Parcelable encountered IOException writing serializable object (name = com.resources.student_list.Student) 我知道这意味着我的学生课无法序列化,但是,这是我的学生课: import java.io.Serializable; public class Student implements Comparable<Student>, Serializable{ private static final long serialVersionUID = 1L; private String firstName, lastName; private DSLL<Grade> gradeList; public Student() { firstName = ""; lastName = ""; gradeList = new DSLL<Grade>(); } public String …

9
如何在Android中切换没有动画的活动?
如何FLAG_ACTIVITY_NO_ANIMATION在AndroidManifest文件中正确使用Intent标志?我认为我的问题很琐碎,但是我找不到很好的例子或解决方案。 <intent-filter> <data android:name="android.content.Intent.FLAG_ACTIVITY_NO_ANIMATION" /> </intent-filter> 但是,编译data器未报告任何错误,但不正确。我只想禁用动画,以防在活动之间进行切换。我可以getWindow().setWindowAnimations(0);在onCreate或onResume中使用,但是使用标志是更好的方法,不是吗? 我也可以在代码中使用: Intent intent = new Intent(v.getContext(), newactivity.class); intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION); getContext().startActivity(intent); 但是我想在Android清单中使用此标志。如果从第二个活动返回到第一个活动,也要禁用动画。

14
Android ACTION_IMAGE_CAPTURE意向
我们正在尝试使用本机相机应用程序让用户拍摄新照片。如果我们省略EXTRA_OUTPUT extra并返回小的Bitmap图片,则效果很好。但是,如果我们putExtra(EXTRA_OUTPUT,...)在启动意图之前一直如此,那么一切都会起作用,直到您尝试单击相机应用程序中的“确定”按钮为止。“确定”按钮什么也不做。相机应用保持打开状态,没有任何锁定。我们可以取消它,但是文件永远不会被写入。ACTION_IMAGE_CAPTURE为了将拍摄的照片写入文件,我们到底需要做什么? 编辑:这是通过MediaStore.ACTION_IMAGE_CAPTURE意图完成的,只是要清楚

5
如何在Android上实现我自己的URI方案
说我想定义一个URI,例如: myapp://path/to/what/i/want?d=This%20is%20a%20test 必须由我自己的应用程序或服务处理。请注意,该方案"myapp",而不是"http",或"ftp"。这正是我的意图:为Android OS全局定义自己的URI模式。这可能吗? 这在某种程度上类似于某些程序已经在Windows系统上执行的操作,例如Skype(skype://)或任何torrent下载程序(torrent://)。


17
允许用户选择图像的相机或画廊
我正在尝试做的事情看起来很简单,但是经过几天的搜索,我还是不太明白。 我有一个允许用户选择多个(最多5个)图像的应用程序。我正在使用ImageView。当用户点击时ImageView,我希望允许他们选择 从图库中选择图像,或 使用相机拍摄图像。 我从使用ACTION_GET_CONTENT意图开始,这很适合进入画廊。因此,然后我尝试使用ACTION_PICK_ACTIVITY意图允许用户选择相机或画廊: Intent pickIntent = new Intent(Intent.ACTION_PICK_ACTIVITY); Intent gallIntent=new Intent(Intent.ACTION_GET_CONTENT); gallIntent.setType("image/*"); Intent camIntent = new Intent("android.media.action.IMAGE_CAPTURE"); pickIntent.putExtra(Intent.EXTRA_INTENT, camIntent); pickIntent.putExtra(Intent.EXTRA_INTENT, gallIntent) pickIntent.putExtra(Intent.EXTRA_TITLE, "Select Source"); startActivityForResult(pickIntent, IMAGE_SELECTOR); 但是看来我只能加一个EXTRA_INTENT。菜单将按预期显示,但是唯一的选项是“图库”和“文件...。 有没有更好/更容易的方法来实现我所缺少的呢?谢谢你的帮助。

2
onNewIntent()生命周期和注册的侦听器
我正在使用singleTop活动来通过接收来自搜索对话框的意图onNewIntent()。 我注意到的是onPause()在调用之前onNewIntent(),然后调用它onResume()。视觉上: 搜索对话框启动 向活动触发搜索意图 onPause() onNewIntent() onResume() 问题是我在中注册了侦听器,但onResume()已将其删除onPause(),但在onNewIntent()通话中需要它们。有没有使这些监听器可用的标准方法?

18
Android YouTube应用播放视频意图
我创建了一个应用,您可以在其中下载Android的YouTube视频。现在,我想要它,以便如果您在YouTube本机应用程序中播放视频,也可以下载它。为此,我需要知道YouTube本机应用程序为播放YouTube应用程序而展示的意图。 如果我在模拟器上安装了YouTube程序,那么我可以轻松地做到这一点,所以我的第一个问题是: 1.我可以为模拟器下载YouTube应用程序吗,还是... 2.用户选择视频时的目的是什么?播放。

8
Android:使用Intent共享纯文本(向所有消息传递应用程序)
我正在尝试使用意图共享一些文本: Intent i = new Intent(android.content.Intent.ACTION_SEND); i.setType("text/plain"); i.putExtra(android.content.Intent.EXTRA_TEXT, "TEXT"); 并与选择器一起变形: startActivity(Intent.createChooser(sms, getResources().getString(R.string.share_using))); 有用!但仅适用于电子邮件应用程序。 我需要的是所有消息传递应用程序的一般意图:电子邮件,短信,即时消息(Whatsapp,Viber,Gmail,SMS ...)尝试使用android.content.Intent.ACTION_VIEW 并且不使用i.setType("vnd.android-dir/mms-sms");任何帮助... ("vnd.android-dir/mms-sms"仅使用短信共享!)

20
有意图地启动短信应用程序
我对意图有疑问...我尝试启动短信应用... Intent intent = new Intent(Intent.ACTION_MAIN); intent.setType("vnd.android-dir/mms-sms"); int flags = Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_SINGLE_TOP | Intent.FLAG_ACTIVITY_CLEAR_TOP; intent.setFlags(flags); intent.setData(Uri.parse("content://sms/inbox")); context.startActivity(intent); 因此,您可以看到我的意图太多了,但这是因为我不知道该怎么做...谢谢

10
以编程方式安装/卸载APK(PackageManager与Intents)
我的应用程序将安装其他应用程序,并且需要跟踪已安装的应用程序。当然,这可以通过简单地保留已安装的应用程序列表来实现。但这不是必须的!PackageManager应该负责维护installedBy(a,b)关系。实际上,根据API,它是: 公共抽象字符串getInstallerPackageName(字符串packageName)- 检索安装软件包的应用程序的软件包名称。这可以确定包装来自哪个市场。 目前的做法 使用Intent安装APK Intent intent = new Intent(Intent.ACTION_VIEW); intent.setDataAndType(apkUri, "application/vnd.android.package-archive"); startActivity(intent); 使用Intent卸载APK: Intent intent = new Intent(Intent.ACTION_DELETE, Uri.fromParts("package", getPackageManager().getPackageArchiveInfo(apkUri.getPath(), 0).packageName,null)); startActivity(intent); 显然,这不是例如Android Market安装/卸载软件包的方式。他们使用了更丰富的PackageManager版本。通过从Android Git存储库下载Android源代码可以看出这一点。以下是与Intent方法相对应的两个隐藏方法。不幸的是,它们对外部开发人员不可用。但是也许它们会在未来吗? 更好的方法 使用PackageManager安装APK /** * @hide * * Install a package. Since this may take a little while, the result will * be posted back …

20
通过自己的意图打开另一个应用程序
我知道如何更新自己的程序,也知道如何使用预定义的Uri打开程序(例如,用于短信或电子邮件) 我需要知道如何创建一个意图来打开MyTracks或其他我不知道他们在听什么意图的应用程序。 我是从DDMS获得此信息的,但未能成功将其转换为可以使用的Intent。这是从手动打开MyTracks时获取的。 谢谢你的帮助 05-06 11:22:24.945: INFO/ActivityManager(76): Starting activity: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=com.google.android.maps.mytracks/com.google.android.apps.mytracks.MyTracks bnds=[243,338][317,417] } 05-06 11:22:25.005: INFO/ActivityManager(76): Start proc com.google.android.maps.mytracks for activity com.google.android.maps.mytracks/com.google.android.apps.mytracks.MyTracks: pid=1176 uid=10063 gids={3003, 1015} 05-06 11:22:26.995: INFO/ActivityManager(76): Displayed activity com.google.android.maps.mytracks/com.google.android.apps.mytracks.MyTracks: 1996 ms (total 1996 ms)

10
如何在Android设备中检测来电?
我正在尝试制作一个类似的应用程序,当电话打来时,我想检测该号码。以下是我尝试过的方法,但未检测到来电。 我想MainActivity在后台运行我,该怎么办? 我已经在manifest文件中给予了许可。 <uses-permission android:name="android.permission.READ_PHONE_STATE"/> 清单中还应该提供其他内容吗? public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.test_layout); } public class myPhoneStateChangeListener extends PhoneStateListener { @Override public void onCallStateChanged(int state, String incomingNumber) { super.onCallStateChanged(state, incomingNumber); if (state == TelephonyManager.CALL_STATE_RINGING) { String phoneNumber = incomingNumber; } } } }

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.