Articles of android intent

为什么ITelephony.aidl有效?

我看到一些SOpost讨论了如何以程序方式结束电话,例如, 这个 。 是的,人们专注于结果,但没有人真正解释它为什么起作用的原因? 我尝试了代码,效果很好。 但是我想了解更多关于底下发生的事情的细节? 为什么通过创建ITelephony.aidl ,我们的项目中暴露了android隐藏的内部ITelephony接口? 我们自己如何创建ITelephony.aidl和自动生成的java(/gen/ITelephony.java) 链接到 android的ITelephony界面? 是否只是因为名称匹配(包名和援助文件名)? TelephonyManager tm = (TelephonyManager) context .getSystemService(Context.TELEPHONY_SERVICE); Class c = Class.forName(tm.getClass().getName()); Method m = c.getDeclaredMethod(“getITelephony”); m.setAccessible(true); //Why does the android internal ITelephony interface is exposed after created the ITelephony.aidl? com.android.internal.telephony.ITelephony telephonyService = (ITelephony) m.invoke(tm); telephonyService.endCall();

将位图保存到文件function

我正在尝试使用我创建的函数直接将位图保存到文件和特定文件。 它不起作用。 它在bitmap.compress部分之后崩溃(在here3之前)。 File dir = new File(filepath); if(!dir.exists())dir.mkdirs(); File file = new File(Environment.getExternalStorageDirectory() + filepath, side + “.png”); FileOutputStream fOut = new FileOutputStream(file); bitmap.compress(Bitmap.CompressFormat.PNG, 85, fOut); fOut.flush(); fOut.close(); System.out.println(filepath); bitmap.recycle(); System.gc(); 错误日志: 06-29 00:16:38.089: D/AndroidRuntime(3260): Shutting down VM 06-29 00:16:38.089: W/dalvikvm(3260): threadid=1: thread exiting with uncaught exception (group=0xb587f4f0) 06-29 00:16:38.089: E/AndroidRuntime(3260): FATAL EXCEPTION: main […]

如何在android中选择和裁剪图像?

嘿,我目前正在制作一个动态壁纸,我允许用户选择一个将落后于我的效果的图像。 目前我有: Intent i = new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI); i.putExtra(“crop”, “true”); startActivityForResult(i, 1); 稍微下: @Override public void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if (requestCode == 1) if (resultCode == Activity.RESULT_OK) { Uri selectedImage = data.getData(); Log.d(“IMAGE SEL”, “” + selectedImage); // TODO Do something with the select image URI SharedPreferences customSharedPreference […]

向拨号器发送暂停

与在Android中发送暂停和DTMF输入类似,我正在尝试将暂停字符“,”发送到拨号器。 这适用于HTC Sense手机甚至Xoom,但不适用于Nexus One或T-Mobile G2等“股票体验”手机(我怀疑是摩托罗拉Droid)。 这些手机似乎有一个拨号器试图漂亮格式化数字(即添加破折号),并在点击逗号字符时停止。 有趣的是,它不会阻塞“p”字符,尽管它会删除“p”并继续添加数字。 这是ActivityManager看到的内容: I/ActivityManager( 92): Starting activity: Intent { act=android.intent.action.DIAL dat=tel:8883333,444 cmp=com.android.contacts/.DialtactsActivity } 我也尝试了编码forms,“tel:8883333%2C444”,这些手机的行为没有区别。 我已经尝试了“p”,如上所述,但这些字符被删除导致拨号器888-333-3444填充不正确,我不确定“p”是否正确。 所以,问题是:有没有办法指定一个适用于大多数或所有Android拨号程序的暂停?

‘Samsung Apps’是否支持重定向到特定应用的URI方案?

我的一位客户热衷于在众多流行的三星设备上推广他的完整应用程序的“精简”版本。 此精简版将上传至http://www.samsungapps.com ,然后用户可以通过“Samsung Apps”应用程序下载 。 Lite版本具有完整应用程序的应用程序内链接。 现在,我一直在搜索三星的网站,了解有关三星应用程序可以提取和使用的URI方案的任何信息,以直接向用户呈现完整应用程序的相关详细信息。 对于Google Play和亚马逊,您只需使用特定的URI方案和应用的包名称启动意图即可; 例如: Google Play: marketIntent.setData(Uri.parse(“market://details?id=” + FULL_VERSION_PACKAGE_NAME)); 亚马逊: marketIntent.setData(Uri.parse(“http://www.amazon.com/gp/mas/dl/android?p=” + FULL_VERSION_PACKAGE_NAME)); 这些都记录在案,非常直接。 但是,我无法弄清楚Samsung Apps是否为类似的行为提供了自己的URI方案。 我确实发布了,因为我们在这里谈论Android设备,我可以链接到Google Play。 我觉得奇怪的是,三星会提供类似市场的系统而无法链接到那里的特定产品,所以我希望我忽略了一些东西。 有人对此有任何指示吗? 请注意,我没有与Samsung Apps兼容的设备来实际测试任何内容。

如何将多个文件附加到android中的电子邮件客户端

我使用Intent .ACTION_SEND获取默认电子邮件客户端。 它工作正常,但现在我需要附加多个文件到电子邮件。 email.putExtra(android.content.Intent.EXTRA_STREAM,…)仅附加最后一个uri。 那么我可以附加多个文件吗? 我认为这可以通过使用Intent.ACTION_SEND_MULTIPLE来完成。 这是我正在尝试的代码: String uri=getScreenShot(); Intent email = new Intent(android.content.Intent.ACTION_SEND); email.setType(“application/octet-stream”); email.putExtra(Intent.EXTRA_STREAM, Uri.parse(uri)); email.putExtra(android.content.Intent.EXTRA_STREAM, Uri.parse(“file:”+csvpath)); alert.dismiss(); ctx.startActivity(Intent.createChooser(email, “Send mail…”)); 提前致谢。

Android:找不到处理Intent错误的Activity? 它将如何解决

找不到活动来处理Intent错误? 它将如何解决。 Preference customPref = (Preference) findPreference(“DataEntryScreen”); customPref .setOnPreferenceClickListener(new OnPreferenceClickListener() { public boolean onPreferenceClick(Preference preference) { Intent i = new Intent(“com.scytec.datamobile.vd.gui.android.AppPreferenceActivity”); startActivity(i); return true; } });

如何在android中使用adb进行出厂重置?

如何使用ADB命令在android中重置工厂? 我曾使用adb reboot recovery命令来重置。 但第三方应用程序无法以某种方式被清除。这是否正确使用ADB? 实际上,我想通过java代码重置工厂重置android设备。这里可以解决什么问题?

Android WebView没有加载URL

我想在WebView加载URL 我使用了以下代码: webView = (WebView) findViewById(R.id.webview1); webView.setWebViewClient(new HostsWebClient()); webView.getSettings().setPluginState(PluginState.ON); webView.getSettings().setJavaScriptEnabled(true); webView.getSettings().setJavaScriptCanOpenWindowsAutomatically(false); webView.getSettings().setPluginsEnabled(true); webView.getSettings().setSupportMultipleWindows(false); webView.getSettings().setSupportZoom(false); webView.setVerticalScrollBarEnabled(false); webView.setHorizontalScrollBarEnabled(false); webView.loadUrl(URL); 但是当我执行它时,我无法加载url。 我的网页不可用。 有人可以帮忙吗?

自定义Android Intent.ACTION_SEND

我正在使用Intent来共享url和主题。 在此filter中显示所有共享应用程序。 我想在popup窗口中只显示(facebook / gmail / message / skype / twitter)这些选项。 这可以自定义共享意图filter。 Intent sharingIntent = new Intent(android.content.Intent.ACTION_SEND); sharingIntent.setType(“text/plain”); String shareBody = adapter.getDetails(“url”; sharingIntent.putExtra(android.content.Intent.EXTRA_SUBJECT,”subject”); sharingIntent.putExtra(android.content.Intent.EXTRA_TEXT, shareBody); startActivity(Intent.createChooser(sharingIntent, “Share via”)); 谢谢