Articles of android

应用程序仅在发行版中崩溃

当您以debugging模式运行应用程序时,应用程序无法崩溃。 但是当生成.apk文件释放应用程序崩溃。 这个错误不会发生在所有的手机上 ,只有less数有Android 6。 logcat显示问题是类( android.support.v4.widget.drawerlayout )中的NullPointerException 。 一个NullPointerException如何才能在发布apk上启动? 我们已经禁用了proguard,minify和shrinkResources。 没有解决这个错误。 这里有一些日志: Attempt to invoke virtual method 'int android.view.WindowInsets.getSystemWindowInsetLeft()' on a null object reference at android.support.v4.widget.ia(Unknown Source) at android.support.v4.widget.DrawerLayout$da(Unknown Source) at android.support.v4.widget.DrawerLayout.onMeasure(Unknown Source) at android.view.View.measure(View.java:18799) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5951) at android.widget.FrameLayout.onMeasure(FrameLayout.java:194) at android.support.v7.widget.ContentFrameLayout.onMeasure(Unknown Source) at android.view.View.measure(View.java:18799) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5951)

Xamarinforms – 媒体插件 – 手机上的空白缩略图

我正在使用James Montemagno的媒体插件拍照。 出于某种原因,只有在手机上运行应用程序时,在拍摄照片时,缩略图才会在TestFolder中正确显示,但它们显示为空文件。 在模拟器中运行时图像正确显示。 这是我的代码: public async Task<MediaFile> TakePhoto() { MediaFile result = null; await CrossMedia.Current.Initialize(); if (CrossMedia.Current.IsCameraAvailable && CrossMedia.Current.IsTakePhotoSupported) { // Supply media options for saving our photo after it's taken. var mediaOptions = new Plugin.Media.Abstractions.StoreCameraMediaOptions { SaveToAlbum = true, Directory = "TestFolder", Name="test.jpg" }; // Take a photo of the business receipt. result […]

当我select操作栏时,冻结或制作稳定的Web视图?防止每次加载/重新加载

我想阻止页面重新加载或冻结当前Web视图当我从选项菜单中select任何菜单 这是我的Webview public class MyWebV extends AppCompatActivity { private WebView webView; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.mwview); Toolbar toolbar = (Toolbar) findViewById(R.id.tb1); setSupportActionBar(toolbar); webView = (WebView) findViewById(R.id.web5); WebSettings set = webView.getSettings(); webView.setWebViewClient(new WebViewClient()); webView.setWebChromeClient(new WebChromeClient()); set.setJavaScriptEnabled(true); set.setJavaScriptCanOpenWindowsAutomatically(true); set.setLoadWithOverviewMode(true); set.setUseWideViewPort(true); set.setDomStorageEnabled(true); set.setAllowUniversalAccessFromFileURLs(true); set.setJavaScriptCanOpenWindowsAutomatically(true); webView.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY); final AlertDialog alertDialog = new AlertDialog.Builder(this).create(); final ProgressDialog progressBar = ProgressDialog.show(MyWebV.this, […]

Android Market,search结果排名神秘

Android Marketsearch结果中的应用程序的位置是如何确定的? 它是否像Google Websearch结果一样神秘又复杂? 我们显然不想改变应用的标题或描述中的任何词语,这会伤害我们的立场。 同样的问题不仅适用于search结果,还适用于在Android电子市场中点击某个类别。 如何确定列表的顺序? 希望这里有人能帮忙。 我想Google会发布一些指导方针,至less可以帮助,但我还没有发现任何东西。

startActivityForResult和Intents Extras,看起来extras不会被推回去

我有这个代码: Intent intent = new Intent(); intent.setAction(Intent.ACTION_PICK); intent.setData(ContactsContract.Contacts.CONTENT_URI); intent.putExtra(EXTRA_ONLINE_ID, (String) v.getTag()); startActivityForResult(intent, PICK_CONTACT); 然后回应: public void onActivityResult(int reqCode, int resultCode, Intent data) { switch (reqCode) { case (PICK_CONTACT): if (resultCode == Activity.RESULT_OK) { try { Uri contactData = data.getData(); String onlineid = data.getStringExtra(EXTRA_ONLINE_ID); } catch (Exception e) { e.printStackTrace(); } } break; } super.onActivityResult(reqCode, resultCode, […]

Eclipse的Androiddebugging器 – 在我的代码在哪里我导致exception?

无可否认,我的问题基本上和这个问题一样,但似乎没有答案: handleStopActivity中的NullPointerException – 没有引用我的代码在堆栈跟踪 下载Eclipse Helios,Android开发工具插件和JDK都在上周。 我在我的设备上搞了一个应用程序,在debugging模式下运行它,并意外终止。 我意识到我已经导致了一个NullPointerException,这个问题本身并不是一个长期的问题。 但是,什么是问题,debugging器似乎无法确定在我的代码中抛出exception的位置。 堆栈跟踪不引用我的代码。 事实上,如果我把下面的OnCreate()方法,我得到同样的问题 public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); //lI("onCreate()"); //A silly logging thing I messed around with Integer iDareYou = null; iDareYou.byteValue(); Eclipse很有信心地告诫我,代码可能会炸毁我的脸。 但是当我真的在我的设备上运行它时,返回的堆栈跟踪如下所示: Thread [<1> main] (Suspended (exception RuntimeException)) ActivityThread.performLaunchActivity(ActivityThread$ActivityRecord, Intent) line: 2787 ActivityThread.handleLaunchActivity(ActivityThread$ActivityRecord, Intent) line: 2803 ActivityThread.access$2300(ActivityThread, ActivityThread$ActivityRecord, Intent) line: 135 ActivityThread$H.handleMessage(Message) line: […]

如何使AccountManager(authtoken)和OpenID一起工作(没有AppEngine)?

我正在做一个Android应用程序,它应该能够从一个Web服务(这不是GAE的一部分)获取数据。 用户可以使用OpenId通过浏览器login到Web服务(只允许使用Google帐户)。 AccountManager可以给我authtoken。 我可以将这个authtoken保存在我的服务器上,以及用户的Google账户名(email),然后使用这个账户名来连接他的openidlogin和应用程序注册。 但是这并不能解决任何问题,因为我无法validation这个令牌是否违反了用户的OpenID信息。或者我呢? 我想我可以使用用户的authtoken“以某种方式”链接他的Android帐户的networking帐户。 这看起来越来越像一个错误的方式来处理这个,但我不想在SharedPreferences中保存用户的用户名/密码,并使用这些数据login。 任何创意? 谢谢

FFMPEG支持硬件编解码器

我已经在Android 2.2上使用ffmpeg构build了一个简单的媒体播放器。 硬件是基于arm cortex-a8的1GHz处理器,512 MB RAM。 我正在低性能,大约15 FPS为800×600 mp4video。 我有几个关于如何改善性能的问题 如何使用我的目标设备上可用的硬件编解码器。 我如何configurationffmpeg使用可用的硬件解码器? GPU或graphics驱动程序是否必须公开一些像OpenMax IL这样的标准API才能实现? 构buildffmpeg时应该启用哪些选项,以便可以针对我的目标硬件进行优化? 就像:– –cpu=cortex=a8 –extra-cflags="-mfpu=neon" … 我已经看过networking,但是我找不到我正在寻找的答案。 我希望有人能就此提出build议。 提前致谢!

更改构build版本后,Android自定义警报对话框显示错误

我正在开发一个简单的演示。 在这个演示中,我只是创build一个简单的自定义提醒对话框。 它工作正常。 它显示了我在1.6中生成应用程序的完美结果,但是当我将Android版本从1.6更改为2.2时,它显示了意外的结果。 它不显示我显示自定义警报对话框的背景屏幕。 这是我的XML文件。 自定义对话框主题文件 <?xml version="1.0" encoding="utf-8"?> <resources> <style name="CustomDialogTheme" parent="@android:style/AlertDialog"> <item name="android:windowFrame">@null</item> <item name="android:windowContentOverlay">@null</item> <item name="android:backgroundDimEnabled">true</item> <item name="android:windowIsTranslucent">true</item> <item name="android:windowNoTitle">true</item> <item name="android:windowAnimationStyle">@android:style/Theme.Dialog</item> </style> </resources> 这是我的CustomConfirmOkDialog类 package com.utility.org; import android.app.Activity; import android.app.Dialog; import android.view.View; import android.view.Window; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.TextView; public class CustomConfirmOkDialog extends Dialog implements OnClickListener { private Button […]

获取用于应用内结算购买的Google ID

我注意到一个设备可能同时login多个Google账户。 我明白,前蜂窝,有一个主要的ID; 从Honeycomb上你可以简单地插入几个。 我目前有两个IDlogin到我的testing平板电脑。 从Google Play购买时,您可以select使用哪个帐户进行购买。 我想在应用程序中添加应用程序内结算,并且要确保每个Google ID都可以在任何设备上购买,这意味着我需要知道哪个ID用于购买。 这意味着我需要执行以下任一操作: 强制Google Play使用用户在我的应用内select的某个Google ID; 检索Google Play用于购买的ID。 这个文档似乎是在假定只有一个购买者在一台设备上活动的情况下编写的。 是否有可能做到这一点?