Articles of android intent

Android发送意图附加从SD卡的照片为0长度的文件

我知道这个问题的一个变种被问到之前试图附加一个文件从SD卡到电子邮件但提供的解决scheme,即重新启动似乎并没有为我这样做。 我已经看到了很多小组的post,支持这是一个问题。 我只能假设链接到问题的OP做了一些其他更改,可能是允许他的代码工作的清单。 我看到的行为是电子邮件的意图处理JPEG从SD卡的附件,但作为一个0长度的文件处理,它被丢弃时发送。 我已经尝试setType为jpeg /图像和图像/ jpeg,因为我已经看到它expression两种方式。 Intent sendIntent = new Intent(Intent.ACTION_SEND); sendIntent.setType("jpeg/image"); sendIntent.putExtra(Intent.EXTRA_EMAIL, "me@gmail.com"); sendIntent.putExtra(Intent.EXTRA_SUBJECT, R.string.email_subjectStart + mWhatYouSpotted.getSelectedItem().toString() + R.string.email_subjectEnd); sendIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse("file:/"+ sPhotoFileName)); sendIntent.putExtra(Intent.EXTRA_TEXT, sEmailBody); startActivity(Intent.createChooser(sendIntent, "Email:")); 这是我上次testing时得到的adb logcat: V / DumbDumpersMain(3972):sPhotoUri = file://sdcard/DumbDumpers/DumbDumper.jpg I / ActivityManager(56):开始活动:Intent {action = android.intent.action.CHOOSER comp = {android / com.android。内部.app.ChooserActivity}(有额外)}我/ ActivityManager(56):开始活动:意图{动作= android.intent.action.SENDtypes= jpeg /图像标志= 0x3000000 comp = {com.google.android.gm /com.google.android.gm.ComposeActivityGmail}(有额外)} […]

安装了一个应用程序,在启动器中显示两个条目

在Android中,如何实现以下效果? 只安装一个应用程序,但在启动器中,有两个条目,并进入每个将会去不同的用户界面。 就像谷歌地图,你可以看到只有一个应用程序,但有地图和导航条目。 谢谢。

如何根据文件知道什么是MIMEtypes?

是否有任何优雅的方式(不只是if ("fileExt".compareTo(".mp3")) {MIME_TYPE = "audio/*"} )学习编程的MIMEtypes应该被放入意图,我有打开文件? 谢谢!

Androidsearch小部件 – onQueryTextSubmit和发送Intent到SearchableActivity的区别?

我有一个包含SearchView小部件的活动。 我正在处理使用onQueryTextSubmit监听器的文本search的结果,这工作正常。 (活动本身被指定为可search活动)。 我最近决定添加语音识别,在searchable.xml文件中添加“voiceSearchMode”属性: searchable.xml <?xml version="1.0" encoding="utf-8"?> <searchable xmlns:android="http://schemas.android.com/apk/res/android" android:label="@string/app_name" android:hint="@string/search_hint" android:voiceSearchMode="showVoiceSearchButton|launchRecognizer"> </searchable> 当我添加语音识别时,onQueryTextSubmit监听器在提供语音input后不会被调用(但是,在使用editText框提供文本input后,它仍然被调用)。 语音识别器发送一个ACTION_SEARCH返回到相同的Activity(可以在onCreate方法中处理)。 有没有一种方法来激活与语音识别器(或类似的东西不需要重新创build活动?)的onQueryTextSubmit方法?我问的原因是因为如果识别器必须发送一个意图,我必须创build发送附加包与APP_DATA,似乎并没有工作。 所以我的问题是: (1)您如何使用(或者可以使用)onQueryTextSubmit侦听器并启用语音识别search? (你可以用普通的基于文本的search来使用它) (2)如果(1)不可能,那么如何通过意图传递附加数据和语音识别search查询? 我试图通过onSearchRequested()像这样添加它: @Override public boolean onSearchRequested() { Bundle appData = new Bundle(); appData.putInt("testKey", 44); this.startSearch(null, true, appData, false); return true; } 但是当我尝试在onCreate中访问这个,appData为空: @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.overview_list); Bundle extras = getIntent().getExtras(); Bundle […]

意图在Android相机或画廊之间进行select

我试图启动一个意图,从相机或Android的画廊select一个图像。 我检查了这个post,目前我的代码是接近工作: private Intent getPickIntent() { final List<Intent> intents = new ArrayList<Intent>(); if (allowCamera) { setCameraIntents(intents, cameraOutputUri); } if (allowGallery) { intents.add(new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI)); } if (intents.isEmpty()) return null; Intent result = Intent.createChooser(intents.remove(0), null); if (!intents.isEmpty()) { result.putExtra(Intent.EXTRA_INITIAL_INTENTS, intents.toArray(new Parcelable[] {})); } return result; } private void setCameraIntents(List<Intent> cameraIntents, Uri output) { final Intent captureIntent […]

用照相机意图和图像select器意图select器

我创build了一个从文件中挑选图像或制作图片的select器。 我使用的代码在Nexus 5上工作正常,但是当我在Samsung S5上试用时,select器不显示相机图标。 public Intent makePhotoIntent(String title, Context ctx, String uniqueImageId){ //Build galleryIntent Intent galleryIntent = new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI); galleryIntent.setType("image/*"); //Create chooser Intent chooser = Intent.createChooser(galleryIntent,title); if (checkexCameraHardware()){ Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE); mTempImage = null; try { mTempImage = createImageFile(uniqueImageId); } catch (IOException e) { e.printStackTrace(); } if (mTempImage != null){ cameraIntent.putExtra(android.provider.MediaStore.EXTRA_OUTPUT, Uri.fromFile(mTempImage)); […]

Android:Intent.EXTRA_ALLOW_MULTIPLE只允许单挑

我想使用“Intent.EXTRA_ALLOW_MULTIPLE”意图filter从Android图库中打开多个图像: if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2) { final Intent intent = new Intent(Intent.ACTION_GET_CONTENT); intent.setType("image/*"); intent.putExtra(Intent.EXTRA_ALLOW_MULTIPLE, true); intent.putExtra(Intent.EXTRA_LOCAL_ONLY, true); startActivityForResult(Intent.createChooser(intent, "Add images"), SELECT_MULTIPLE_IMAGES); } 但无论我使用的应用程序(本地画廊,QuickPic应用程序),我只能select一个单一的图片。 testing设备正在运行Android 5.1。 我怎样才能select多个图像?

在Android中selectvideo的最佳方式是什么?

我有一个完美的Intent.ACTION_PICK与我的照片。 startActivityForResult(新的意图(Intent.ACTION_PICK,android.provider.MediaStore.Images.Media.INTERNAL_CONTENT_URI),SELECT_IMAGE); 但它不适用于video。 当我点击我的名单上的一个video,它发挥vidoe而不是送我回来。 startActivityForResult(新的意图(Intent.ACTION_PICK,android.provider.MediaStore.Video.Media.INTERNAL_CONTENT_URI),SELECT_VIDEO); 一个主意 ?

Android多重通知

我正在开发一个应用程序,用户可以创build事件并为该事件设置通知。 所以我想添加多个通知。 我正在使用下面的代码。 final Notification notifyDetails = new Notification(R.drawable.icon, "Myapp",calendar.getTimeInMillis()); Context context = getApplicationContext(); Intent notifyIntent = new Intent(context, ViewDoughnut.class); PendingIntent pendingIntent = PendingIntent.getActivity(ViewCal.this, 0, notifyIntent, android.content.Intent.FLAG_ACTIVITY_NEW_TASK); notifyDetails.setLatestEventInfo(context, contentTitle, contentText, pendingIntent); notifyDetails.flags = Notification.FLAG_ONGOING_EVENT; mNotificationManager.notify(SIMPLE_NOTFICATION_ID, notifyDetails); 当我添加一个事件并使用上面的代码创build通知时,它工作正常。 但是,如果我添加另一个事件,没有新的通知创build,旧的只是更新。 我想添加一个通知。 怎么做? 此外,如果用户删除与其相对应的事件,我想删除任何特定的通知。 怎么可能?

我如何从myDialog sendBroadcast(intent)并在myActivity中接收?

所以,我试图得到一个处理BroadcastReceivers和意图filter。 我有我在MyActivity中创build的自定义对话框。 在对话框中,我有一个button。 当button被点击时,我想发送MyActivity的接收器将接收到的广播。 这是我现在所拥有的: //MyActivity.java class myActivity extends Activity { //MyDialog dialog initialized in onCreate … private class MyReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { //toast "Broadcast received" } } } //MyDialog.java class MyDialog extends Dialog { //m_context = incoming context from MyActivity @Override protected void onCreate(Bundle savedInstanceState) { […]