标签: android-4.0-ice-cream-sandwich

是否有可能在Android中获得视频的分辨率?

我正在寻找一种方法来获得Android中任何给定视频的分辨率.它不必与Android中支持的其他格式一起使用,但如果确实如此,它会很棒.如果您不确定Android中支持的格式,请参阅此页面:

http://developer.android.com/guide/appendix/media-formats.html

我认为使用MediaPlayer该类可以做我想做的事情,但这看起来非常愚蠢和低效.而且,我想要一种相对较快的方式.

我的目标是Android 3.0+,如果这有任何区别的话.Honeycomb还支持.mkv文件,虽然直到Android 4.0才正式支持.

video android android-3.0-honeycomb android-4.0-ice-cream-sandwich

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

如何使Android 4.0应用程序向后兼容?

Android 4.0(ICS)有很多新的UI指南,非常棒.问题是,未来,我不确定如何为Android 4.0构建应用程序,并确保该应用程序在运行Android 2.2和2.3的设备上看起来相同/相似.

Android兼容性库向后兼容的Action Bar,但我一直在寻找一种更具体的解决方案,用于将ICS后应用程序移植到ICS之前的手机上.

我是在正确的轨道上吗?有人有什么想法?

android android-ui android-layout android-4.0-ice-cream-sandwich

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

没有调用片段onHiddenChanged

我最近在我的应用程序中添加了Fragments.对于新的应用程序,我需要在显示我的片段时立即收到通知.所以我可以在我的片段再次显示后立即进行一些计算.

My Fragment与TabIndicator一起使用,它只有一个FragmentClass使用了几次.

这是正常的标准覆盖类:

@Override
public void onHiddenChanged(boolean hidden) {
    super.onHiddenChanged(hidden);
}
Run Code Online (Sandbox Code Playgroud)

hidden android fragment android-4.0-ice-cream-sandwich

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

CookieManager和CookieSyncManager不将Cookie同步到ICS中的webview(适用于所有以前的API级别)

背景:

我通过我的应用程序获取cookie并通过向http发出请求在内部使用它们.用户可以在任何给定时间切换到webview,在这种情况下,我将cookie同步/注入到webView.

使用CookieSyncManager将Cookie同步到webview的代码:

CookieSyncManager.createInstance(a);
CookieManager cm = CookieManager.getInstance();
cm.setCookie(domain, cookieName + "=" + cookieValue);
CookieSyncManager.getInstance().sync();
Run Code Online (Sandbox Code Playgroud)

这适用于 API 15+(Android 4.0,Ice Cream Sandwich)之外的所有 API级别.该CookieManager API不会被弃用.

是什么导致了这个问题,有没有解决方法?

cookies android android-webview android-4.0-ice-cream-sandwich

17
推荐指数
1
解决办法
8554
查看次数

Android ICS Launcher 4.0.x无法保持屏幕方向

我有一个Android ICS Launcher 4.0.x的奇怪案例.

前提:

  • 具有root权限的ICS设备

  • 下载Android ICS Launcher 4.0.3/4源代码(修改并运行)

程序:

  1. 进入市场(Play商店),下载"Go Task Manager"

  2. 在Launcher上打开Widgets选项卡,找到"Mem Optimize",拖到主屏幕(工作区)

  3. 下载并安装"Fruit Ninja"

  4. 在主屏幕上的"Mem Optimize"小部件旁边创建"Fruit Ninja"快捷方式.

  5. 执行"Fruit Ninja"并将手机放在LANDSCAPE中(手持它在这个位置,不要更改)

  6. 在"水果忍者"的菜单屏幕上,切片"退出",选择"是"

  7. 现在回到Launcher主屏幕,点击"Mem Optimize"小部件

目前的结果:

  • 在步骤7之后,屏幕旋转到LANDSCAPE一段时间并返回PORTRAIT.

期望:

  • 在步骤7之后,屏幕应保持在PORTRAIT中.

我的尝试(修改Launcher ICS源代码):

  • 添加到"Manifest.xml":android:screenOrientation="portrait"=>仍然无法解决问题.

  • 处理配置更改,android:configChanges="orientation|screenSize"=>仍然无法解决问题.

  • 使用:setRequestedScreenOrientation(PORTRAIT)=>仍然无法解决问题.

我试过在Android 2.x上工作过的; 然而,从4.0.3+开始,它不能按预期工作.有没有人对此有任何想法?

android orientation android-4.0-ice-cream-sandwich

17
推荐指数
1
解决办法
1710
查看次数

为什么EditText在Ice Cream Sandwich中保留其Activity的Context

在Ice Cream Sandwich中,当有一个包含EditText的Activity时,即使用户离开Activity,EditText也会保留Activity的Context.为了证明这一点,我创建了TestLeakActivity,它分配了一个大字节数组.由于Activity的Context不会被垃圾收集,因此字节数组会在堆上累积,最终导致OutOfMemoryError.您可以使用DDMS堆工具观察堆增长,并且可以通过查看Eclipse MAT中的HPROF文件来跟踪对EditText类的未完成引用.要创建内存泄漏,请进入LaunchActivity,然后继续启动并退出TestLeakActivity.

LaunchActivity.java
package com.example.testleakproject;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.TextView;

public class LaunchActivity extends Activity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        Button button = new Button(this);
        button.setText("Start TestLeakActivity");
        button.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent(LaunchActivity.this, TestLeakActivity.class);
                startActivity(intent);
            }
        });

        ViewGroup container = ((ViewGroup) findViewById(android.R.id.content));
        container.addView(button);
    }
}
TestLeakActivity.java
package com.example.testleakproject;

import android.app.Activity;
import android.os.Bundle;
import android.view.ViewGroup;
import android.widget.EditText; …

android memory-leaks android-4.0-ice-cream-sandwich

16
推荐指数
3
解决办法
2854
查看次数

Appwidget大小计算

可能是我,但是当我根据android页面上给出的公式计算最小app小部件大小时,我得不到正确的小部件宽度; 公式如下:

width(n)=(70 xn) - 30

当我想要一个5x1小部件时,正确的宽度将是(5*70) - 30 = 320dp.然而,当在motorola Xoom上测试它时,它解析为4x1小部件.我已经测试了不同的值,400dp对于带有Honeycomb的motorola xoom上的5x1似乎很好,但后来我在常规Galaxy Tab上用Gingerbread测试它然后它解析为6x1(就像人们期望的那样).

这里有两个问题;

  • 我可以俯瞰Gingerbread和Honeycomb有什么区别?
  • 既然我知道ICS小部件大小不再在小部件之间有填充,那么这里有一些经验法则吗?

android android-3.0-honeycomb android-2.3-gingerbread android-4.0-ice-cream-sandwich android-appwidget

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

活动URL回调在4.0.3 ICS中不起作用

我在Twitter应用程序中使用OAUTH,它将您发送到应用程序中的Twitter页面,然后您将登录并重定向回处理令牌的应用程序.这在android 2.0.x和3.0.x中完美适用,但在4.0中,当我尝试重定向回我的应用程序时,我得到"网页不可用".任何人都可以告诉我为什么这是?? 我的清单文件中有以下内容:

<intent-filter>
    <action android:name="android.intent.action.VIEW"/> 
    <category android:name="android.intent.category.DEFAULT"/>
    <category android:name="android.intent.category.BROWSABLE"/>
    <data android:scheme="myapp" android:host="myactivity"/>
</intent-filter>
Run Code Online (Sandbox Code Playgroud)

twitter页面给出了一直在工作但现在不在android 4.0 ICS中的回调URL,有人可以帮忙吗?谢谢.

url android callback android-4.0-ice-cream-sandwich

16
推荐指数
1
解决办法
681
查看次数

辅助功能服务未启动

我想在android ics(4.0.3)中记录所有toast事件,但我无法记录任何系统事件.服务还没开始!

根据这个问题: onAccessibilityEvent(AccessibilityEvent事件)没有拦截通知

MyAccessibilityService.java

package com.test.toasts2;

import android.accessibilityservice.AccessibilityService;
import android.accessibilityservice.AccessibilityServiceInfo;
import android.app.Notification;
import android.os.Parcelable;
import android.util.Log;
import android.view.accessibility.AccessibilityEvent;
import android.widget.Toast;

public class MyAccessibilityService extends AccessibilityService {


    public static final String TAG = "volumeMaster";

    @Override
    public void onAccessibilityEvent(AccessibilityEvent event)
    {
        Log.v(TAG, "***** onAccessibilityEvent");
        Toast.makeText(getApplicationContext(), "Got event from: " + event.getPackageName(), Toast.LENGTH_LONG).show();
    }

    @Override
    public void onInterrupt()
    {
        Log.v(TAG, "***** onInterrupt");
    }

    @Override
    public void onServiceConnected()
    {
        Log.v(TAG, "***** onServiceConnected");       


        AccessibilityServiceInfo info = new AccessibilityServiceInfo();
        info.eventTypes = AccessibilityEvent.TYPE_NOTIFICATION_STATE_CHANGED;
        info.notificationTimeout = 100; …
Run Code Online (Sandbox Code Playgroud)

android accessibility-api toast android-4.0-ice-cream-sandwich

16
推荐指数
2
解决办法
3万
查看次数

有没有办法只为Android 4.0.3禁用硬件加速?

我最近偶然发现了android 4.0.3的问题,我在应用程序启动后立即得到以下异常(在其他Android版本上它工作正常):

java.lang.NullPointerException
at android.view.GLES20RecordingCanvas.drawPatch(GLES20RecordingCanvas.java:97)
at android.graphics.NinePatch.draw(NinePatch.java:125)
at android.graphics.drawable.NinePatchDrawable.draw(NinePatchDrawable.java:189)
at android.widget.ImageView.onDraw(ImageView.java:892)
at android.view.View.draw(View.java:10978)
at android.view.ViewGroup.drawChild(ViewGroup.java:2887)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489)
at android.view.ViewGroup.drawChild(ViewGroup.java:2885)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489)
at android.view.View.getDisplayList(View.java:10415)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:2597)
at android.view.View.getDisplayList(View.java:10380)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:2597)
at android.view.View.getDisplayList(View.java:10380)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:2597)
at android.view.View.getDisplayList(View.java:10380)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:2597)
at android.view.View.getDisplayList(View.java:10380)
at android.view.HardwareRenderer$GlRenderer.draw(HardwareRenderer.java:842)
at android.view.ViewRootImpl.draw(ViewRootImpl.java:1910)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1634)
at android.view.ViewRootImpl.handleMessage(ViewRootImpl.java:2442)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4424)
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:784)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
at dalvik.system.NativeStart.main(Native Method)
Run Code Online (Sandbox Code Playgroud)

这与启用硬件加速相关,只要我在清单上禁用它,应用程序就会开始正常工作.

通过搜索我在Romain Guy的一些对话中找到了一个日志(在doc中搜索"drawPatch"),在那里他讨论了一些可能导致这种情况的原因,虽然没有提出解决方法或修复,我想知道是否我应该只为这个版本的Android禁用硬件加速,或者是否有解决方法?

谢谢你的时间.

android android-4.0-ice-cream-sandwich

16
推荐指数
4
解决办法
3万
查看次数