Articles of android intent

当我select任何第三方相机应用程序时,相机意图中的空指针exception

我的问题是,每次我select第三方相机应用程序,例如美丽加相机 ,我每次都得到空指针例外,我的代码是完全适用于默认的相机应用程序,它甚至可以与谷歌的新相机为摩托系列手机。 非常第一次对话框来select画廊或相机选项在这里: private void OpenDialogForImage() { final CharSequence[] items = { "Gallary", "Camera", "Cancel" }; AlertDialog.Builder builder = new AlertDialog.Builder(activity); builder.setItems(items, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int item) { // Do something with the selection switch (item) { case 0: Intent intent1 = new Intent( Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI); intent1.setType("image/*"); startActivityForResult( Intent.createChooser(intent1, "Select File"), […]

java.lang.RuntimeException:无法恢复活动

我试图达到的是点击一个button,它应该打开相机..使用点击一个快照,它返回到应用程序与图像视图中单击图片的pipe状图 package com.example.waterbill; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import android.app.Activity; import android.content.Intent; import android.content.pm.ActivityInfo; import android.graphics.Bitmap; import android.os.Bundle; import android.os.Environment; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.ImageView; import android.widget.Toast; public class Bill_meter_satus extends Activity { @Override protected void onResume() { // TODO Auto-generated method stub super.onResume(); } @Override protected void onPause() […]

如何实现Facebook的“新故事”function?

我想在我的应用程序中实现以下function。 我怎样才能做到这一点? 我有两种方法: 每隔1分钟或一段时间后,从webservice获取总的post数。 但为此我需要在后台连续运行一个Thread ,因此可能会出现性能问题 (电池性能) 我可以使用Notification服务来执行此function吗? 或者如果任何人有另一个想法,请给我build议。

删除联系人select选项表单文件select选项

我打开文件select意图,贝娄代码 Intent intent_upload = new Intent(); intent_upload.setType("*/*"); intent_upload.setAction(Intent.ACTION_GET_CONTENT); activity.startActivityForResult(intent_upload, Constants.FILE_PICK_REQUEST_CODE); 我想从列表中删除联系人选项,请任何人都可以帮忙。 谢谢

Android TTS检查支持的语言环境,缺less/未下载的语音数据

我正在使用Android的TextToSpeech类。 一切正常。 但是,有些语言/语言环境默认情况下未安装,但由TTS引擎支持,我无法捕获缺less语音数据的状态。 在互联网上,当我尝试将语言设置为语音数据尚未下载的新语言环境时,它将简单地下载语音数据并正常/成功地执行说话方法。 但是,在closures互联网的情况下,当我尝试将语言设置为语音数据尚未下载的新语言环境时,尝试下载语音数据。 但没有互联网,只是在所选语言环境的“语言和input”下的“TTS语音数据”设置屏幕上显示“下载”,没有任何进展。 而且正如预期的那样,由于没有下载语音数据,所以说方法不起作用。 当发生这种情况时,我会认为TTS方法setLanguage / isLanguageAvailable将返回LANG_MISSING_DATA来捕获这个状态,但是,它只是返回LANG_COUNTRY_AVAILABLE。 情况如下图所示: 我希望能够检测到所选语言环境的语音数据何时未被下载/丢失,并且要么发送Toast消息,要么直接用户下载它。 我已经看到几个postbuild议使用isLanguageAvailable像这样的使用。 我也看了一下android文档 ,好像isLanguageAvailable的返回值应该用LANG_MISSING_DATA来捕获缺less语音数据的状态。 我也尝试发送ACTION_CHECK_TTS_DATA意图作为另一种方式来检查我链接的Android文档中build议的缺失数据。 但是,resultCode再次未捕获/指示语音数据丢失(CHECK_VOICE_DATA_FAIL),而是返回了CHECK_VOICE_DATA_PASS。 在这种情况下,我应该如何捕获可用/支持的语言/区域的状态,并且缺less语音数据? 我也很好奇,为什么CHECK_VOICE_DATA_PASS和LANG_MISSING_DATA不是返回的值。 当语音数据丢失时,不应该返回这些值吗? 谢谢! 下面是我尝试在没有下载语音数据的语言环境中使用setLanguage和isLanguageAvailable时的返回值(0和1是日志中显示的方法的返回值,-1是对应于缺less语音的语法数据):

区分屏幕超时和电源button?

我的应用程序在屏幕变黑时会做某些事情,但是我希望它只在屏幕“自行”closures的情况下执行该任务,通过屏幕超时 – 而不是当用户按下电源button时。 有什么办法来区分这两个事件? ACTION_SCREEN_OFF显然在两种情况下都会触发,而且我还没有发现任何可能符合我所需要的其他意图。 感谢您的帮助,Nick

在返回WebView之前,WebView下载打开浏览器窗口一会儿

我的问题是,当我点击Web浏览器中的PDF链接,浏览器打开一会儿(我想下载链接的文件),PDF文件开始下载,应用程序返回到Web视图。 有没有办法阻止浏览器窗口打开,开始下载? 我已经使用WebViewClient shouldOverrideUrlLoading,以便单击的url保存在webview中: private class LinkWebViewClient extends WebViewClient { @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { view.loadUrl(url); return true; } } 我有一个下载监听器,所以我可以下载文件(为我的需要这些是PDF的): webView.setDownloadListener(new DownloadListener() { public void onDownloadStart(String url, String userAgent, String contentDisposition, String mimetype, long contentLength) { Intent intent = new Intent(Intent.ACTION_VIEW); intent.setData(Uri.parse(url)); startActivity(intent); } });

在应用程序之间使用隐式意图的自定义操作

我一直试图在两个独立的应用程序中使用自定义操作和隐式意图进行两个活动。 第一个应用程序(服务器)具有以下清单: <application android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme"> <activity android:name="edu.example.sharing.manager.SecureFileShare" android:label="@string/title_activity_secure_file_share" android:exported="true"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> <intent-filter> <action android:name="edu.example.sharing.action.STORE" /> <category android:name="android.intent.category.DEFAULT" /> <data android:mimeType="*/*" /> </intent-filter> </activity> </application> 第二个应用程序创build一个意图如下: File f = new File(s); Uri fileUri = Uri.fromFile(f); Intent intent = new Intent(); intent.setData(fileUri); intent.setAction("edu.example.sharing.action.STORE"); startActivityForResult(intent, STORE_REQUEST); 其performance是正常的。 当我尝试在客户端应用程序中发送意图时,我得到一个未发现的活动exception: FATAL EXCEPTION: main […]

Android:没有历史logging的ShareActionProvider

根据Android文档,如果我不希望我的ShareActionProvider坚持共享历史,我应该打电话 mShareActionProvider.setShareHistoryFileName(null) 但是,当我这样做时,我select一个共享选项下面的崩溃: 11-15 10:06:34.848: E/AndroidRuntime(22461): java.lang.IllegalStateException: No preceding call to #readHistoricalData 11-15 10:06:34.848: E/AndroidRuntime(22461): at android.widget.ActivityChooserModel.persistHistoricalDataIfNeeded(ActivityChooserModel.java:573) 11-15 10:06:34.848: E/AndroidRuntime(22461): at android.widget.ActivityChooserModel.addHisoricalRecord(ActivityChooserModel.java:743) 11-15 10:06:34.848: E/AndroidRuntime(22461): at android.widget.ActivityChooserModel.chooseActivity(ActivityChooserModel.java:491) 11-15 10:06:34.848: E/AndroidRuntime(22461): at android.widget.ActivityChooserView$Callbacks.onItemClick(ActivityChooserView.java:547) 以下是设置ShareActionProvider的代码: public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.article_pager_menu, menu); // mShareActionProvider is a field in the Activity mShareActionProvider = (ShareActionProvider) menu.findItem(R.id.menu_share) .getActionProvider(); mShareActionProvider .setShareHistoryFileName(null); […]

通过WhatsApp意图发送消息

我怎么可以从我的应用程序发送按摩到WhatsApp的特殊号码,我知道这个代码分享按摩组或联系whatsapp Intent waIntent = new Intent(Intent.ACTION_SEND); waIntent.setType("text/plain"); String text = "Sorry For Interruption,I'm Just Trying Something"; waIntent.setPackage("com.whatsapp"); if (waIntent != null) { waIntent.putExtra(Intent.EXTRA_TEXT, text);// startActivity(Intent.createChooser(waIntent,"Share with")); 但我想发送按摩到像“966xxxxxxx”的特殊号码,我怎么能做到这一点?