Articles of android intent

如何使用默认浏览器在Google上搜索字符串

我想实现一个搜索function,打开默认浏览器并搜索传递的字符串 public void searchOnGoogle(String keywords){ — } 有没有办法使用意图filter或我必须自己实现一切?

获得额外的意图和onCreate方法?

我有A,B和C类.A类向B发送意图,B运行C,C运行返回B …..但是然后在B类的onCreate内部它想要A类的意图。但是因为它来自C级它没有得到它,但我仍然需要A级的意图 有关如何解决这个问题的任何想法? 我想一个解决方案可能是将extra.getString存储在数据库或类似的数据库中? Bundle extras = getIntent().getExtras(); newString = extras.getString(“ID”);

没有意图filter的Android BroadcastReceiver

我在几个Android广告网络中看到他们声称BroadcastReceiver没有意图filter。 像这样的东西: 我的猜测是这样的接收器会捕获所有可能的事件。 所以我自己尝试过并创建了一个SampleReceiver : public class SampleReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { System.out.println(“Event captured: ” + intent.getAction()); } } 我已经启动了应用程序,尝试通过在手机上执行各种操作来触发某些事件,并注意到onReceive()甚至没有被调用过一次。 所以问题是 – 没有intentfilter的BroadcastReceiver如何工作? 也许它需要通过代码创建intentfilter? 如果是这样,怎么样? 如果没有,那为什么不接收任何事件? 这里发生了什么?

片段中的广播接收器不接收来自服务的意图

我有一个片段和服务如下: 我在文件Fragment.java中注册和注销LocalbroadcastManager Fragment.java @Override public void onStart() { // TODO Auto-generated method stub super.onStart(); IntentFilter intentFilter = new IntentFilter(); intentFilter.addAction(ffmpegService.PROGRESS); intentFilter.addAction(ffmpegService.DONE); LocalBroadcastManager.getInstance(getActivity()). registerReceiver(receiver, intentFilter); } @Override public void onStop() { LocalBroadcastManager.getInstance(getActivity()).unregisterReceiver(receiver); super.onStop(); } private final BroadcastReceiver receiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { if(intent.getAction().equalsIgnoreCase(ffmpegService.PROGRESS)){ …. } } 在ffmpegService类中,我将广播发送到1个处理程序中的片段,如下所示: ffmpegService.java […]

android回到第一个屏幕

我有一个Android应用程序链接(由linkify制作),导入我的应用程序的其他屏幕。 我想知道关闭所有“孩子”活动的最佳方法是什么,并回到最初推出的第一个活动。 在其他方面这样的事情: HomeScreenActivity => Screen1(通过Linkify-link)=> Screen2 => Screen3 => click home =>(关闭屏幕1,2和3)=> HomeScreenActivity

是否有意为所有用户卸载应用程序?

背景 通过使用“ACTION_DELETE”意图来调用卸载应用程序的正常方法是: startActivity(new Intent(Intent.ACTION_DELETE, Uri.parse(“package:” +packageName))); 问题 从一些Android版本(不记得哪个)开始,可以在同一设备上为多个用户安装应用程序。 这意味着有一种卸载应用程序的新方法,将为所有用户卸载该应用程序(图片取自Lollipop – Android 5.0): 这个问题 我在文档中搜索过,但找不到这些问题的答案: 有没有办法通过意图执行此操作? 也许有些东西要添加到我上面写的意图中? ADB是否有新命令为所有用户删除应用程序? 有没有办法检查是否为多个用户安装了应用程序?

如何使用意图操作USER_PRESENT?

我有一个时钟小部件应用程序,我需要识别手机何时解锁,我相信我可以使用动作USER_PRESENT,但我不能让它在BroadcastReceiver类中启动,我将它设置在表现如下: 这就是我试图在BroadcastReceiver中获取它的方式: public class MyWidgetIntentReceiver extends BroadcastReceiver{ public void onReceive(Context context, Intent intent) { if(intent.getAction().equals(Intent.ACTION_USER_PRESENT){ Log.i(“TICK”, intent.getAction()); } } } 我解锁手机后没有开火,你可以帮我解决一下,还是给我一个更好的方法来检查手机什么时候解锁? 谢谢!

尝试将文件附加到电子邮件意图的“附件权限被拒绝”(在Gmail 5.0上)

这个问题之前已经发布过,但没有明确或接受的答案,所提供的所有“工作”的解决方案都不适合我。 请参阅此处: Gmail 5.0应用程序在收到ACTION_SEND意图时失败并显示“附件权限被拒绝” 我有一个应用程序,它在文本文件中构建数据,需要在电子邮件中发送文本文件,自动附加它。 我已经尝试了很多方法来实现这一点,它显然适用于Gmail 4.9及更低版本,但5.0有一些新的权限function,使其无法按照我的意愿行事。 Intent i = new Intent(Intent.ACTION_SEND); String to = emailRecipient.getText().toString(); i.setType(“message/rfc822”); i.putExtra(Intent.EXTRA_EMAIL, new String[] { to }); i.putExtra(Intent.EXTRA_SUBJECT, “Pebble Accelerometer Data”); i.putExtra(Intent.EXTRA_TEXT, “Attached are files containing accelerometer data captured by SmokeBeat Pebble app.”); String[] dataPieces = fileManager.getListOfData(getApplicationContext()); for(int i2 = 0; i2 < dataPieces.length; i2++){ i.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(new File(getApplicationContext().getFilesDir() + […]

Android:如果在屏幕上重新启动活动,来自通知的PendingIntent不会触发onCreate()

猜测我对Intent Flags有一些误解。我想要做的是,我有一个无线电流媒体应用程序,它有两个活动(PlayerApplication和SettingsScreen)。 我有一个用于Streaming的Service.class,它在后台运行,它也包含一个Notification(你可以在notification-overlay菜单和PlayerApplication中停止/开始播放)。 如果用户单击通知,则应将PlayerApplicationActivity返回到屏幕。 一切正常,期待案例:用户打开SettingsScreenActivity – >打开NotificationOverlayMenu – >点击通知 – > PendingIntent恢复到PlayerApplicationActivity 现在,PlayerApplicationScreen就在那里,但我无法点击任何内容。 我看,如果我从Notification继续,我的PlayerApplication的onCreate()不会被触发。 但布局看起来很好(在onCreate()中也充气) 我在Service.class中使用了以下PendingIntent: PendingIntent contentIntent = PendingIntent.getActivity( this.getApplicationContext(), //Service.class 0, new Intent(this,PlayerApplicationActivity.class) .setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP), 0); 所以实际上PendingIntent应该将Activity(如果已经运行)带回到顶部。 我使用错误的意图还是我错过了一个观点? 编辑:我在Manifest.xml中声明了launchMode android:launchMode=”singleTask”

通过Facebook分享意图为android果冻豆

我想通过Facebook从android jelly bean分享一些图片和文字。 除了android jelly bean之外,它适用于所有设备。 有人请帮我解决这个问题。 我的代码 Intent shareIntent = new Intent(android.content.Intent.ACTION_SEND); shareIntent.setType(“text/plain”); shareIntent.putExtra(android.content.Intent.EXTRA_TEXT, “Content to share”); PackageManager pm = v.getContext().getPackageManager(); List activityList = pm.queryIntentActivities(shareIntent, 0); for (final ResolveInfo app : activityList) { if ((app.activityInfo.name).contains(“facebook”)) { final ActivityInfo activity = app.activityInfo; final ComponentName name = new ComponentName(activity.applicationInfo.packageName, activity.name); System.out.println(“package name”+name); shareIntent.addCategory(Intent.CATEGORY_LAUNCHER); shareIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK |Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED); shareIntent.setComponent(name); […]