小编twa*_*ton的帖子

如何设置Android上的Google Play服务错误样式

在Android上使用新的Google Maps V2 API时,如果用户的设备未安装Google Play(服务)应用,则会看到错误消息.我想知道是否有可能以某种方式覆盖此错误消息的样式,使其不那么刺耳,更适合应用程序样式.

这就是错误的样子:

除非您更新Google Play服务,否则此应用无法运行.

android google-play-services

13
推荐指数
1
解决办法
5736
查看次数

V2 Maps Library是否需要ACCESS_NETWORK_STATE权限?

我在我发布的应用中使用了Android V2 Google地图库(Google Play服务).我一直看到Google Play中出现的零星异常似乎表明支持地图片段偶尔会尝试检查网络状态.但是,库文档未提及此权限是必需的.我不直接在我的应用程序中检查网络状态,所以我没有声明此权限.因此,SecurityException在支持地图片段膨胀时,有时会抛出a :

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.foo/com.foo.ui.TransactionDetailActivity}: android.view.InflateException: Binary XML file line #327: Error inflating class fragment
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2180)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230)
    at android.app.ActivityThread.access$600(ActivityThread.java:141)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)
    at android.os.Handler.dispatchMessage(Handler.java:99)
    at android.os.Looper.loop(Looper.java:137)
    at android.app.ActivityThread.main(ActivityThread.java:5039)
    at java.lang.reflect.Method.invokeNative(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:511)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
    at dalvik.system.NativeStart.main(Native Method)
Caused by: android.view.InflateException: Binary XML file line #327: Error inflating class fragment
    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704)
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:746)
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:749)
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:749)
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:749)
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:749)
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:749)
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:749)
    at android.view.LayoutInflater.inflate(LayoutInflater.java:459) …
Run Code Online (Sandbox Code Playgroud)

android android-maps android-permissions

12
推荐指数
1
解决办法
765
查看次数

如何显示或读取docx文件

我是新手在android中渲染文件,我想在我的应用程序中渲染或显示docx文件.

我已经从docx文件中提取了文本,但现在我也想从docx文件中提取图像.

我已经找到了几种用纯Java显示图像的方法,但Android有什么好的例子吗?

我试过这段代码来获取图片但没有工作......

public void extractImages(Document xmlDoc)
{
    NodeList binDataList = xmlDoc.getElementsByTagName("w:drawings");
    String fileName = "";
    Node currentNode;
    for(int i = 0; i < binDataList.getLength(); i++)
    {
        currentNode = binDataList.item(i);
        if(currentNode.getNodeType() == Node.ELEMENT_NODE && ((Element)currentNode).hasAttribute("w:name"))
        {               
            File newImageFile = new File(picDirectory, ((Element)currentNode).getAttribute("w:name").replaceFirst("wordml://", ""));
            if(newImageFile.exists())
            {

            }
            else
            {
                if(writeImage(newImageFile, currentNode))
                {
                    //Print some success message
                }
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

java android ms-word docx

11
推荐指数
3
解决办法
3146
查看次数

调用getLastKnownLocation时出现SecurityException

当用户打开调用位置管理器getLastKnownLocation方法的Activity时,我们一直在获取某些设备崩溃的报告.我们在应用程序清单中请求了所有必需的权限:

<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
Run Code Online (Sandbox Code Playgroud)

这是堆栈跟踪:

java.lang.RuntimeException: Unable to resume activity {com.projectname/com.projectname.ui.AtmFinderActivity}: java.lang.SecurityException: invalid package name: com.google.android.gms
        at android.app.ActivityThread.performResumeActivity(ActivityThread.java)
        at android.app.ActivityThread.handleResumeActivity(ActivityThread.java)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java)
        at android.app.ActivityThread.access$600(ActivityThread.java)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java)
        at android.os.Handler.dispatchMessage(Handler.java)
        at android.os.Looper.loop(Looper.java)
        at android.app.ActivityThread.main(ActivityThread.java)
        at java.lang.reflect.Method.invokeNative(Native Method)
        at java.lang.reflect.Method.invoke(Method.java)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java)
        at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.SecurityException: invalid package name: com.google.android.gms
        at android.os.Parcel.readException(Parcel.java)
        at android.os.Parcel.readException(Parcel.java)
        at android.location.ILocationManager$Stub$Proxy.getLastLocation(ILocationManager.java)
        at android.location.LocationManager.getLastKnownLocation(LocationManager.java)
        at android.privacy.surrogate.PrivacyLocationManager.getLastKnownLocation(PrivacyLocationManager.java)
        at com.projectname.util.LocationUtils.getLastKnownLocation(SourceFile:48)
        at com.projectname.ui.AtmFinderFragment.initMapIfNeeded(SourceFile:401)
        at com.projectname.ui.AtmFinderFragment.onGooglePlayServicesAvailable(SourceFile:187)
        at com.projectname.maps.GoogleMapServicesUtil.getGooglePlayServicesStatus(SourceFile:40)
        at com.projectname.ui.AtmFinderFragment.onResume(SourceFile:149)
        at android.support.v4.app.FragmentManagerImpl.moveToState(SourceFile:917)
        at android.support.v4.app.FragmentManagerImpl.moveToState(SourceFile:1080) …
Run Code Online (Sandbox Code Playgroud)

android android-location android-maps-v2

9
推荐指数
1
解决办法
1606
查看次数

Loopj Android Async Http - onFailure没有被解雇

我正在使用来自loopj的伟大的异步http库,但我遇到了一个小麻烦.

如果用户没有互联网连接或丢失连接,该应用程序将不会返回任何内容.这部分是预期的,但它也不会触发onFailure方法.

此外,我有一个互联网连接时使用的代码确实有效,所以在服务器端没有问题.

这是一些被剥离到最低限度的代码.它也不起作用(我也测试了这个)

String url = getString(R.string.baseurl) + "/appconnect.php";
client.getHttpClient().getParams().setParameter(ClientPNames.ALLOW_CIRCULAR_REDIRECTS, true);
client.get(url, null, new JsonHttpResponseHandler()
{
    @Override
    public void onSuccess(JSONArray response)
    {
        Toast.makeText(getApplicationContext(), "Success", Toast.LENGTH_SHORT).show();
    }

    @Override
    public void onFailure(Throwable e, JSONArray errorResponse)
    {
        Toast.makeText(getApplicationContext(), "Failure", Toast.LENGTH_SHORT).show();
    }
});
Run Code Online (Sandbox Code Playgroud)

谢谢,阿什利

java android asynchronous http loopj

8
推荐指数
2
解决办法
1万
查看次数

使用TalkBack时,当TextView的内容发生变化时,提醒用户的首选方法是什么?

我有一个解锁屏幕,提示用户输入一个四位数的引脚.如果用户输入的引脚不正确,TextView则会显示先前不可见的错误消息.此时,TalkBack可以大声读出错误消息的内容.

通过一些实验,我意识到我可以设置android:focusableInTouchMode="true"视图并以编程方式调用View#requestFocus().这是第一次工作,但由于视图已经具有焦点,因此后续错误失败.通常,覆盖当前视图焦点似乎也是一个坏主意.

然后我尝试View#announceForAccessibility(java.lang.CharSequence)在显示错误消息时调用.显然,如果视图当前不可见,此方法将无声地失败.没问题,否则它完美无缺.但是,它仅适用于API级别16+(Jelly Bean),它确实限制了它的实用性.由于TalkBack支持API级别7以上,因此必须有更好的解决方案.

我已经看过关于可访问性的2011和2012年Google I/O会议,但似乎都没有涵盖这个基本用例.最好的方法是什么?

编辑1: TLDR; 有没有办法强制 TalkBack在引入View#announceForAccessibility(java.lang.CharSequence)Jelly Bean 之前大声读出一些文本?

android accessibility talkback

8
推荐指数
2
解决办法
6745
查看次数

是否有一种标准的方法来暗示一个数字应该一次读取一个字符?

处理长号码的首选方法是什么,例如银行帐号,应该一次读取一个字符?我知道用户可以通过这种方式让TalkBack读出一个数字,但如果我们能暗示它应该从一开始就这样做就会很好.

设置数字之间有空格的内容描述是一个好主意,还是用户会觉得这很烦人?

谢谢!

android accessibility talkback

8
推荐指数
1
解决办法
1066
查看次数

当对焦模式设定为连拍图像时,Nexus 4相机闪光灯不会闪光

我遇到了一个奇怪的问题,特别是在Nexus 4上(虽然它可能存在于其他设备上),当焦点模式设置为时,相机闪光灯不会闪光FOCUS_MODE_CONTINUOUS_PICTURE.相同的代码在运行相同版本的Android(4.2.1)的Galaxy Nexus上运行良好.以前有人遇到过这个问题吗?我只需将焦点模式切换为,即可解决问题FOCUS_MODE_AUTO.我希望这个问题能够轻松解决,因为连续的图像聚焦模式非常重要.

camera android android-camera nexus-4

5
推荐指数
1
解决办法
4354
查看次数

如何启用触控探索时,如何保持单指针手势?

我有一个捕获用户签名的自定义视图(John Hancock).我希望我们的应用程序尽可能地易于访问,因此我需要特别注意确保优化我们的TalkBack屏幕和触摸式触摸屏.由于触摸式触摸将所有一个手指手势更改为两个手指手势,因此它会破坏自定义签名视图.

我想要做的是通过触摸式探索在悬停时宣布视图的内容描述,然后在用户双击时启用视图.这将允许他们使用像普通用户这样的单个指针在视图顶部绘制.

我一直在搜索,但很难找到有关Android辅助功能库的详细文档.有任何想法吗?

android accessibility android-view talkback

3
推荐指数
1
解决办法
1487
查看次数

Android:停止显示LogCat窗口

我刚刚升级到最新版本的SDK(版本19),现在注意到LogCat窗口总是出现在我调试时.我把它关上了,但不久之后又回来了.我觉得这很烦人.我怎样才能永久关闭它.

eclipse android

2
推荐指数
1
解决办法
96
查看次数