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

如何使用新的Android 4.0 Ice Cream Sandwich API阅读和编辑Android日历活动?

当他们想要添加新活动时,我们正在尝试向用户显示冰淇淋三明治日历视图.我们只能在模拟器中测试它.

另一个问题是我们找不到任何使用CalendarProvider的示例.在处理三明治日历时,这是正确的课程吗?

使用Google Gdata API会更容易吗?

[编辑]所以我们工作的是向日历添加一个事件,但不是通过API,我们在正确的视图中打开日历.但现在问题是它在模拟器中不起作用,因为我们无法同步日历.

所以问题是:如何使用新的Android 4.0 Ice Cream Sandwich API阅读和编辑Android日历事件?

android android-calendar android-4.0-ice-cream-sandwich

13
推荐指数
2
解决办法
5万
查看次数

我可以从代码打开WiFi-Direct吗?在Android API-14(ICS)上

我正在Android 4.0上使用google上的新Wi-Fi Direct API,并在示例代码中将用户发送到设置,以激活WiFi -Direct模式.

有没有办法通过代码启动它???

他们提供的只是收听WIFI_P2P_STATE_CHANGED_ACTION意图,然后使用此代码

String action = intent.getAction();

if (WifiP2pManager.WIFI_P2P_STATE_CHANGED_ACTION.equals(action)) {

   // UI update to indicate wifi p2p status.
   int state = intent.getIntExtra(WifiP2pManager.EXTRA_WIFI_STATE, -1);

   if (state == WifiP2pManager.WIFI_P2P_STATE_ENABLED) {
       // Wifi Direct mode is enabled

   } else {
       // Wifi Direct mode is disabled
   }
Run Code Online (Sandbox Code Playgroud)

android android-wifi android-4.0-ice-cream-sandwich

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

在webview中加载本地javascript文件的问题

我有一个困扰我好几天的问题.事实证明,这是一个Android故障,已经提交,确认,并希望将来的版本中修复.现在我找到了一个适合我的解决方案,并将在下面提供,但解决方案并不完美,因为它涉及编辑手机间隙源.主要是我的问题是,是否有人可以找到更好的解决方案来解决这个问题.

问题:
当您尝试在Android 3.0+上的WebView中加载页面时出现故障.问题是,如果该页面引用任何本地javascript文件,则无法将查询数据附加到URL.基本上

这有效:
<script type="text/javascript" src="StaticJS.js"></script>

这不起作用:
<script type="text/javascript" src="StaticJS.js?var=val"></script>

为什么有人想要这样做,因为文件显然无法对查询值做任何事情?好吧,我有一个通过JSONP加载设置文件的phonegap应用程序,但是如果没有指定设置文件,它默认为本地文件.所以是的,文件无法处理查询数据,但使用相同的文件格式和加载结构会很好.


解决方案1(非PhoneGap)

因此,如果目标android平台是11(Honeycomb)或更高,那么有一个简单的解决方案.(只要您小心并且不使用任何较低API级别中不存在的任何方法,此代码将在<11 apis上运行,但您仍需将11设置为目标)

基本上,您将WebViewClient添加到WebView,该WebView使用shouldInterceptRequest方法拦截附加了查询数据的本地js文件的加载.

import java.io.IOException;
import java.io.InputStream;

import android.content.res.AssetManager;
import android.webkit.WebResourceResponse;
import android.webkit.WebView;
import android.webkit.WebViewClient;

public class PatchingWebViewClient extends WebViewClient{

    AssetManager am;

    public PatchingWebViewClient(AssetManager am){
        this.am = am;
    }

    @Override
    public WebResourceResponse shouldInterceptRequest (WebView view, String url){
        if(url.indexOf("file:///android_asset") == 0 && url.contains("?")){
            String filePath = url.substring(22, url.length());
            filePath = filePath.substring(0, filePath.indexOf("?"));
            try {
                InputStream is = am.open(filePath);
                WebResourceResponse wr = new WebResourceResponse("text/javascript", "UTF-8", is);
                return wr; …
Run Code Online (Sandbox Code Playgroud)

android callback android-3.0-honeycomb android-4.0-ice-cream-sandwich cordova

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

在Android Ice Cream Sandwich上隐藏状态栏

我正在使用Android ICS的启动器,但我有平板电脑的问题.

我无法隐藏状态栏.我在Android 2.3.X中尝试过它没关系.问题仅出现在Android 4.0中.

我怎么能隐藏它?

android statusbar android-4.0-ice-cream-sandwich

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

如何使用TextureView上的相机预览录制视频

我在一些Android 4.0设备上玩过TextureView.例如,我尝试开发一个简单的应用程序,它可以录制视频并使用TextureView进行预览.但是,就我阅读Android API文档而言,标准的MediaRecorder需要某些表面来执行视频录制,但另一方面,TextureView不再具有自己的表面,因此看起来TextureView和MediaRecorder之间存在不兼容性.

MediaRecorder.setPreviewDisplay

TextureView

有没有人知道如何使用带有TextureView的标准MediaRecorder作为相机预览来录制视频?或者有没有办法录制MediaRecorder以外的视频?

非常感谢你.

android mediarecorder android-4.0-ice-cream-sandwich

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

如何将Android 4.0+模拟器配置为平板电脑?

我一直在为Android 3.x开发Android应用程序,现在我想支持Android 4.0.

所以我从AVD Manager创建了一个新的AVD,目标是Android 4.0.3和API Level 15,分辨率1280 x 800.

模拟器正常运行,但其UI处于手机模式,而不是平板电脑,我的应用程序(用于平板电脑)UI已折叠.即,通知栏设置顶部,而不是底部.

如何让模拟器识别它应该作为平板电脑运行?

android android-virtual-device android-emulator android-4.0-ice-cream-sandwich

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

如果应用程序至少启动一次,广播接收器不能在ICS中工作

这个问题在堆栈溢出中已被问过几次,但还没有解决方案.我有一个广播接收器用于接收USB连接动作.广播接收器的责任是,如果我得到意图启动我的应用程序.在清单文件中我添加了接收器. 我在GingerBread中使用相同的逻辑,但我ICS无法正常工作. 许多问题,如 广播 - 不调用

1:Android启动BroadCast不调用广播密码- 不工作

如果我手动启动我的应用程序一次,那么从下次连接USB时,我的应用程序会自动启动.试图回答同样的问题,但没有回答.在ICS中有没有解决方案?

这是我的接收器

        <receiver android:name="com.test.MyReceiver">
                <intent-filter>
                    <action android:name="android.hardware.usb.action.USB_STATE" />
                    <action android:name="android.net.wifi.STATE_CHANGE" />
            <action android:name="android.net.wifi.WIFI_STATE_CHANGED" />
            <action android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED" />
            <action android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED" />
                </intent-filter>
            </receiver>
    and this is my class
    public class MyReceiver extends BroadcastReceiver {
    .
    .
    .

  public void onReceive(Context context, Intent intent) {
.
Run Code Online (Sandbox Code Playgroud)

我错了吗?

提前谢谢 - 科兹洛夫

android broadcast broadcastreceiver android-intent android-4.0-ice-cream-sandwich

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

在ICS中不推荐使用Settings.Secure.HTTP_PROXY,但没有关于替换的信息

Android开发人员文档说以下内容Settings.Secure.HTTP_PROXY:

全局http代理的主机名和端口.使用':'主机和端口之间的分隔符TODO - 弃用以支持global_http_proxy_host等

但是没有任何关于的信息global_http_proxy_host.现在我总是null在尝试阅读时得到Settings.Secure.HTTP_PROXY.

Settings.Secure.HTTP_PROXY 在ICS之前的所有版本中都正常工作.

settings proxy android android-4.0-ice-cream-sandwich

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

使用系统权限静默卸载应用程序

我的应用有系统权限.它将在固件内部,现在它位于/ system/app

我能用这篇文章静静地安装应用程序

以编程方式安装/卸载APK(PackageManager vs Intents)

有用的示例应用程序

http://paulononaka.wordpress.com/2011/07/02/how-to-install-a-application-in-background-on-android/

但我仍然无法以相同的方式卸载应用程序.我尝试使用像安装示例中的反射.

public ApplicationManager(Context context) throws SecurityException, NoSuchMethodException {

    observer = new PackageInstallObserver();
    pm = context.getPackageManager();

    Class<?>[] types = new Class[] {Uri.class, IPackageInstallObserver.class, int.class, String.class};
    Class<?>[] uninstalltypes = new Class[] {String.class, IPackageInstallObserver.class, int.class};
    method = pm.getClass().getMethod("installPackage", types);
    uninstallmethod = pm.getClass().getMethod("deletePackage", uninstalltypes);
}


public void uninstallPackage(String packagename) throws IllegalArgumentException, IllegalAccessException, InvocationTargetException {
        uninstallmethod.invoke(pm, new Object[] {packagename, observer, 0});
    }
    public void installPackage(Uri apkFile) throws IllegalArgumentException, IllegalAccessException, InvocationTargetException {
        method.invoke(pm, new Object[] {apkFile, observer, INSTALL_REPLACE_EXISTING, …
Run Code Online (Sandbox Code Playgroud)

android android-firmware android-4.0-ice-cream-sandwich

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

如何在ICS中启用"不要保持活动"?

如何通过代码在ics中启用"不要保持活动"选项.如果已启用,则如何阻止该活动.

注意:我在我的应用程序中使用了更多活动.因为我将一个活动移动到另一个活动,所以第一个活动被销毁.我可以将我的数据保存在onSaveInstanceState上.没有使用保存的实例状态有任何方法可以做...

提前致谢..

android android-4.0-ice-cream-sandwich

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