Articles of android intent

Android深层链接。 从历史logging打开应用程序时,意图不会重置

我有一个关于Android任务和意图pipe理的问题。 脚本 用户通过深入链接进入应用程序。 我们显示一个通知将URI放入意向数据。 用户单击通知,并将其带入应用程序,并redirect到深层链接描述的某个Feature1Activity。 用户环顾四周,退出应用程序。 之后,用户从历史logging中打开应用程序(长按主页或多任务button)。 现在,通知中使用的意图(意图数据中的深层链接)用于启动应用程序。 因此,用户再次被带入Feature1Activity。 问题: 从历史logging启动应用程序(长按主页或多任务button)不会重置任务(从应用程序图标启动时执行此操作)。 我明白,从历史开始的应用程序不应该重置任务,因为它的目的是作为“得到右后卫,你在哪里”。 然而,就我而言,这是一个问题,因为从通知启动应用程序是一次性的事情。 其他人遇到这个问题? 任何人都知道解决scheme 更深入 PendingIntent内部的意图是这样构build的: Intent intent = new Intent (Intent.ActionView); intent.addFlags (Intent.FLAG_ACTIVITY_NEW_TASK); intent.addFlags (Intent.FLAG_ACTIVITY_CLEAR_TOP); intent.addFlags (Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET); intent.setData (Uri.Parse (DEEP_LINK_URL)); 我发现FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET就在这一天,真的以为它会摆脱我的问题,但没有任何区别。 有三个有趣的活动: SplashActivity (main launcher & listener of the deep-linking schema — this activity just redirects either to login or OverviewActivity) OverviewActivity (authorized […]

Android TV未启动LAUNCH_LEANBACK活动

我想创build一个与手机和电视兼容的apk。 据我所知,我应该在清单中为两个平台指定启动器活动,其中一个针对<category android:name="android.intent.category.LAUNCHER" /> ,另一个针对带有<category android:name="android.intent.category.LEANBACK_LAUNCHER" /> intent filter 。 Android应该在启动时自动select正确的活动,取决于平台,对吧? 或者我应该添加一些Java代码,并从代码开始我的电视活动? 目前它使用android电视模拟器启动我的手机活动。 以下是我的清单文件: <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" package="com.mypackagename" android:versionCode="142" android:versionName="2.0.142" > <uses-sdk tools:overrideLibrary="android.support.v17.leanback"/> <uses-permission android:name="android.permission.INTERNET" /> <uses-feature android:name="android.hardware.microphone" android:required="false" /> <uses-feature android:name="android.hardware.bluetooth" android:required="false" /> <!– TV –> <uses-feature android:name="android.hardware.touchscreen" android:required="false" /> <uses-feature android:name="android.software.leanback" android:required="false" /> <application android:name="com.mypackagename.App" android:allowBackup="true" android:hardwareAccelerated="true" android:icon="@drawable/ic_launcher" tools:replace="android:icon" android:label="@string/app_name" […]

Googlelogin无法使用

我正在关注Google的 Google Sign 文档 。 我打电话时有一个奇怪的问题 Intent signInIntent = Auth.GoogleSignInApi.getSignInIntent (mGoogleApiClient); startActivityForResult (signInIntent, RC_SIGN_IN); 它似乎意图已被解雇,但我不能看到账户select器对话框 。 我在用 compile "com.google.android.gms:play-services-auth:9.6.1" 当我检查googleclient对象是否连接时,它返回true。 它在一些设备上工作,但不是在每个设备上(尤其是小米) 履行 @OnClick (R.id.google_singin_button) void signInButtonClicked () { HashMap<String, Object> map = new HashMap<> (); map.put (AllAnalytics.LABEL, AllAnalytics.Label.SIGN_IN_GOOGLE); map.put (AllAnalytics.ACTION, AllAnalytics.Action.CLICK); map.put (AllAnalytics.CATEGORY, AllAnalytics.Category.REGISTRATION_SCREEN); aa.analyticsEventOccur (map); if (null != mGoogleApiClient) { // Log.e(TAG,mGoogleApiClient.isConnected()+""); Intent signInIntent […]

三星我的文件浏览器:select文件的意图

我想开始一个可以返回任何types的文件的intentchooser。 下面的代码与通常的文件探索器(ES,Astro等)协同工作,但与内置的三星My Files资源pipe理器无关。 Intent selectFile = new Intent(Intent.ACTION_GET_CONTENT); selectFile.setType("file/*"); startActivityForResult(Intent.createChooser(selectFile, "Select File"), SELECT_FILE); 有谁知道如何处理三星探险家? 我试图使用意图selectFile =新的意图(“com.sec.android.app.myfiles.PICK_DATA”),但它似乎并没有工作。 有任何想法吗? 谢谢。 更新:我用这个代码 Intent selectFile = new Intent(); selectFile.setAction("com.sec.android.app.myfiles.PICK_DATA"); startActivityForResult(selectFile, SELECT_FILE); 但我得到这个错误:FORWARD_RESULT_FLAG同时也要求一个结果。 任何人都知道这是什么意思?

FlashLED强度控制

我正在寻找在Android相机LED闪光帮助改变它像这个程序的强度。 我检查了以下链接,但我没有得到确切的结果。 我可以更改Android设备的LED亮度吗? 如何在Android中以编程方式打开相机闪光灯? http://code.google.com/p/droidled/source/checkout http://code.google.com/p/simpleled/source/checkout https://code.google.com/p/openintents/source/checkout 而且我无法执行这个链接 (对我来说这似乎很有希望)。 任何帮助是极大的赞赏。

Android:通过意图发送短信与身体并返回。

我试图通过意图发送短信,我想添加一个正文的消息。 用户按send我想返回到应用程序。 我添加了额外的sms_body和exit_on_sent 。 但是,当我使用它们时,短信都显示没有身体。 如果我不使用exit_on_sent额外的一切工作正常。 Intent sendIntent = new Intent(Intent.ACTION_VIEW); sendIntent.setData(Uri.parse("smsto:" + phoneNumber)); sendIntent.putExtra("sms_body", "some text"); sendIntent.putExtra("exit_on_sent", true); context.startActivity(sendIntent);

Android – 意图pipe理。 如果用户从任务pipe理器打开应用程序,旧的意图被重新发送

我有个问题。 当我调用finish()方法活动仍然保持在任务pipe理器,如果用户从任务pipe理器重新启动我的活动收到旧意图。 如果该意图是从推送通知发送的,我有不必要的反应:我的应用程序启动过程意图与推送通知数据。 如何正确地pipe理我的活动中的推送通知意图行为,以避免错误的活动状态? 我的应用程序接收到一个推送通知,并形成待决的意图在push上的反应: final NotificationManager mNotificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE); int defaultOptions = Notification.DEFAULT_LIGHTS; defaultOptions |= Notification.DEFAULT_SOUND; Intent intentAction = new Intent(context, MainActivity.class); intentAction.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP); intentAction.putExtra(BUNDLE_COLLAPSE_KEY, data.getString(BUNDLE_COLLAPSE_KEY)); intentAction.setAction(CUSTOM_ACTION); final PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intentAction, PendingIntent.FLAG_UPDATE_CURRENT); int notificationFlags = Notification.FLAG_AUTO_CANCEL; final Notification notification = new NotificationCompat.Builder(context).setSmallIcon(R.drawable.icon_splash) .setContentTitle(context.getResources().getString(R.string.app_name)) .setContentText(data.getString(BUNDLE_PUSH_CONTENT_DATA)) .setContentIntent(pendingIntent) .setAutoCancel(true) .setDefaults(defaultOptions) .getNotification(); notification.flags […]

检查Intent.ACTION_VIEW上的用户操作

我有一个列表视图填充了一些文件,可以有各种types,如PDF或文档。当用户点击一个我得到的文件MIMEtypes,并启动一个意图,让用户select使用哪个应用程序来打开该文件。我想知道的是用户select了什么东西,或者只是简单地按下而没有select任何东西。 我现在尝试的直到现在正在做一个startActivityForResult并检查成功,但它总是返回RESULT_CANCELED static final int SELECTED_VIEWER = 1; Intent intent = new Intent(Intent.ACTION_VIEW); intent.setDataAndType(Uri.parse(filePath), mimetype); try { startActivityForResult(intent, SELECTED_VIEWER); }catch (ActivityNotFoundException e) { Toast.makeText(getActivity(), Strings.ERROR_NO_VIEWER, Toast.LENGTH_SHORT).show(); } public void onActivityResult(int requestCode, int resultCode, Intent data) { if (requestCode == SELECTED_VIEWER) { if (resultCode == Activity.RESULT_CANCELED ) { //do something } } } 我甚至尝试了一个startActivityForResult(Intent.createChooser,但仍然无济于事。我怎么知道用户是否在列表中select了某个东西,或者他是否取消了这个打开?

我怎样才能找出一个服务(不是在我的应用程序)是从哪个意图开始的?

我想知道Google地图服务是如何自动启动的。 当我转储主缓冲区或事件缓冲区的logcat时,我只能找出Google Maps的哪个组件已经启动,但没有关于“谁” (包)启动它的线索,以及“如何” (意图)? 有没有可以用来找出它们的debugging方法?

短信接收机的“真实”testing

我有一个SmsReceiver ,我想要在设备上进行真实testing,但是我不愿意将一堆真正的短信发送到我的设备上,这些设备会叠加我的手机账单;-) 所以我认为我必须能够采取行动RECEIVED_SMS ,短信数据和所有其他的东西需要发送短信的intent 。 谷歌快速浏览后,我结束了这里: http : //blog.dev001.net/post/14085892020/android-generate-incoming-sms-from-within-your-app 。 我从这个post了一些想法,并创造了我的杀手机器人应用程序创build和“发送”短信在设备上的testing目的,我必须说,它的工作就像一个魅力,除了我的接收器onReceive没有被调用,发送短信直接进入收件箱。 我知道我的接收器工作,如果我发送一个真正的短信到我的设备触发,如果我从DDMS发送短信到模拟器,它也触发,所以应该没事的。 那么是否有任何permissions ,一些Intent.putExtras或其他我想念的东西? 任何提示是真正有用的,如果可以得到这个工作,这将帮助我在testing和开发我的应用程序很多。 我在清单中的接收者: <receiver android:name=".SmsReceiver"> <intent-filter android:priority="1000"> <action android:name="android.provider.Telephony.SMS_RECEIVED"/> </intent-filter> </receiver> 清单中的权限(接收申请): <uses-permission android:name="android.permission.CALL_PHONE" /> <uses-permission android:name="android.permission.RECEIVE_SMS" /> <uses-permission android:name="android.permission.WRITE_SMS" /> <uses-permission android:name="android.permission.READ_SMS" /> <uses-permission android:name="android.permission.VIBRATE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.READ_PHONE_STATE" /> <uses-permission android:name="android.permission.WAKE_LOCK" /> 清单中的权限(发送应用程序): <uses-permission android:name="android.permission.BROADCAST_SMS"/> 还应该提到在LogCat或控制台中没有显示错误。