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

将带有 ACCOUNT_TYPE_LOCAL 的日历添加到 Android 4 使其日历崩溃

我想向 Android 添加一个未同步的新日历。我编写了一个应用程序,它使用 API 级别 14 的新 CalendarContract API 执行此操作。以下代码工作正常。我可以在 Android 的日历应用程序中看到新日历并向其添加事件。

问题是当我选择时 Android 日历应用程序崩溃:菜单 -> 日历显示 -> 日历同步

我的代码有问题还是Android日历中的错误?

请注意,我不想实际使用同步适配器。CalendarContract.Calendars 的文档说这不是必需的:“如果需要本地日历,应用程序可以通过作为同步适配器插入并使用 ACCOUNT_TYPE_LOCAL 的 ACCOUNT_TYPE 来实现。” 我知道“作为同步适配器插入”意味着将 (CalendarContract.CALLER_IS_SYNCADAPTER, "true") 附加到 URI。

public class CalendarMapper {

private static final String ACCOUNT_NAME = "private";
private static final String INT_NAME_PREFIX = "priv";

private static Uri buildCalUri() {
    return CalendarContract.Calendars.CONTENT_URI
            .buildUpon()
            .appendQueryParameter(CalendarContract.CALLER_IS_SYNCADAPTER, "true")
            .appendQueryParameter(Calendars.ACCOUNT_NAME, ACCOUNT_NAME)
            .appendQueryParameter(Calendars.ACCOUNT_TYPE, CalendarContract.ACCOUNT_TYPE_LOCAL)
            .build();
}

private static ContentValues buildContentValues(Calendar calendar) {
    String dispName = calendar.getName();  //Calendar.getName() returns a String
    String …
Run Code Online (Sandbox Code Playgroud)

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

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

搜索小部件中的自定义建议 (Android ICS)

我的 ICS 应用程序中有一个带有搜索小部件的操作栏。我希望用户可以搜索应用程序附带的一些内容。因此,我想使用搜索小部件,显示一个结果列表,当用户输入新字符(与 Play 商店的功能相同)时,该列表会自动更新。我已经SearchView.OnQueryTextListener在我的活动中实施并实施了两种方法onQueryTextChange(String newText)onQueryTextSubmit(String query). 在onQueryTextChange我调用我的服务中,它返回键入建议的值。但是我没有计划,如何显示建议列表。我阅读了developer.android.com上的文章,但据我所知,它主要用于旧的搜索实现(< Honeycomb)。在 Search Widget API 示例中,建议是应用程序,安装在系统上,由SearchManager. 我还没有找到涵盖此主题的教程或示例(搜索小部件中的自定义建议),有人知道这样的事情吗?

@Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.search_menu, menu);
       
        
        
        SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
        
        SearchView searchView = (SearchView) menu.findItem(R.id.menu_search).getActionView();    
        
        
        searchView.setOnQueryTextListener(this);
        return super.onCreateOptionsMenu(menu);
    }

@Override
    public boolean onQueryTextChange(String newText) {
        Log.i(TAG, "Query = " + newText);
        
      if(newText.length() > 0){
          //my suggestion service, returning an arraylist!
      }
        
        return false;
    }
Run Code Online (Sandbox Code Playgroud)

我读到,我需要从ContentProvider扩展SearchRecentSuggestionsProvider,但我不知道如何处理和创建此提供程序。我有一个searchable.xml指的是 …

search android android-4.0-ice-cream-sandwich android-actionbar

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

Android ICS上的InApp语音触发控制和离线SpeechRecognition

我目前正在开发一个跨平台应用程序,它应该在Google GLASS(Android 4.0.4),智能手机(Android 4.0.4或更新版本)和另一个可穿戴设备上运行.至少它将是ICS - 冰淇淋三明治版.
这个应用程序为我提供了由用户或系统(网络 - 事件)触发的事件驱动的不同视图.
为了用户的控制,我想实现语音识别,只需要识别数字或至少单个数字以及前后命令.重要的是它也可以脱机工作,它应该在应用程序运行时在后台工作,不应该覆盖用户界面.
相关工作:
SpeechRecognizer似乎只有使用jellybean的离线功能,(还没有找到在Android 4.0.4上使用它的方法).
在我看来,实现自定义IME和使用VoiceTyping是非常昂贵和肮脏的.(比如Utter!,顺便说一句.非常好的工作!)
第一次尝试使用pocketsphinx还没有成功.

android speech-recognition android-4.0-ice-cream-sandwich

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

为什么ViewTreeObserver> OnScrollChangedListener在Android 2.x上没有调用它是否在onCreate()中设置?

我发现OnScrollChangedListener在Android 2.x上如果在第一次布局绘制之前添加它,就不会被解雇.例如,在onCreate/ onResume/ 等方法中添加滚动侦听器时onAttachedToWindow:

public class MainActivity extends AppCompatActivity
{
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        View myView = findViewById(R.id.MyView);

        System.out.println(myView.getViewTreeObserver().isAlive()); // true

        myView.getViewTreeObserver().addOnScrollChangedListener(new OnScrollChangedListener() {
            @Override
            public void onScrollChanged() {
                // will never fire
            }
        });
    }
}
Run Code Online (Sandbox Code Playgroud)

那么,有谁知道这个问题的原因?


PS:似乎问题有时发生在API <= 15(Android 4.0.3)

android android-layout android-2.3-gingerbread android-view android-4.0-ice-cream-sandwich

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

关于Galaxy Nexus的奇怪的EOF异常

我的Android应用程序用于URLConnection连接到Web服务.它已经在市场上销售了一年多,效果很好.但是,最近出现了Galaxy Nexus用户的问题:

从以下方式获取输入流(甚至还没有读取!)时URLConnection:

final BufferedReader in = new BufferedReader(new InputStreamReader(uc.getInputStream()), 8192);
Run Code Online (Sandbox Code Playgroud)

A EOFException被扔了getInputStream().

首先我认为这可能是一个ICS问题,所以我在Nexus S上安装了早期版本,但在那里我无法重现这个问题.然后我就可以访问Galaxy Nexus,它与我收到的错误报告一样崩溃,这让我相信这可能不是单个手机表现得很奇怪的情况.

可以在此处看到崩溃的堆栈跟踪以及GitHub上的整个代码.这真的很奇怪,该应用程序在Android Market上安装了大约100k +,这个问题似乎只出现在Galaxy Nexus上.

任何提示或建议将不胜感激!

android android-4.0-ice-cream-sandwich

4
推荐指数
1
解决办法
2301
查看次数

在Android 4.0中截屏时广播?

有什么方法可以在拍摄截图或将图片插入MediaStore时收听广播?

目的:反馈应用.

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

4
推荐指数
1
解决办法
1906
查看次数

在Android ICS操作栏中显示菜单项

我有一个我用Android 2.1编写的应用程序,它使用菜单按钮来显示一些选项.我想通过ICS中的操作栏溢出按钮提供此菜单,但是我无法让它显示出来.

如果我将目标API更改为15,则底部栏中的旧菜单按钮会在ICS中消失,但操作栏右上角的图标不会替换它,因此无法访问菜单.我已经尝试将showAsAction属性添加到菜单项,它什么也没做.我肯定在我的Eclipse构建选项中定位4.0.3.

我想要的只是在使用ICS Holo主题的同时可以访问该菜单,但仍然向后兼容旧设备.我该怎么做?

java android android-4.0-ice-cream-sandwich

4
推荐指数
1
解决办法
6097
查看次数

Android与websocket通信(Node Websocket服务器和Android Java客户端).不要在Android 4上工作

我试图用作Android客户端Websocket - weberknecht 用一个线程将每秒消息发送到Nodejs Websocket(js):Node WebSocket Server

它在android 2或2.3.3上运行正常,但是当我在android 4上运行时,我在websocket.connect()上遇到错误;

你知道为什么或我做错了吗?

我的代码是:

public class MainThread extends Thread {

    private boolean is_running;
    private URI url = null;
    private de.roderick.weberknecht.WebSocket websocket = null;

    public MainThread() {
        this.is_running = false;
        try {
            url = new URI("ws://192.168.1.88:8088/");
            websocket = new WebSocketConnection(url);

            websocket.setEventHandler(new WebSocketEventHandler() {
                public void onOpen(){
                    System.out.println("--open");
                }
                public void onMessage(WebSocketMessage message){
                    System.out.println("--received message: " + message.getText());
                }
                public void onClose(){
                    System.out.println("--close");
                }
            });
        } catch (WebSocketException wse) {
            wse.printStackTrace();  //To change …
Run Code Online (Sandbox Code Playgroud)

java android websocket node.js android-4.0-ice-cream-sandwich

4
推荐指数
1
解决办法
4949
查看次数

使用Android WebView通过客户端证书连接到安全服务器

WebView或更具体的PhoneGaps CordovaWebView可以使用客户端证书对服务器进行身份验证吗?

我知道本机浏览器可以使用客户端证书,但我正在尝试使用PhoneGap Android应用程序与需要客户端证书的服务器通信,并且无法查看如何.我尝试了各种我在谷歌上看过的方法,但它们不适用于Android 4.0或更高版本.任何建议都会受到极大关注.

android client-certificates webview android-4.0-ice-cream-sandwich cordova

4
推荐指数
1
解决办法
9162
查看次数

AlphaAnimation不适用于冰淇淋三明治

我通过使用操纵其alpha级别来显示具有淡入淡出动画的布局AlphaAnimation.

目前的解决方案适用于我使用Gingerbread的两个设备和使用Froyo的设备.但是,它不适用于冰淇淋三明治?!

这是我的xml布局.

<LinearLayout
        android:id="@+id/photoOptionBar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:alpha="0"
        android:background="@color/gpsBackground"
        android:orientation="horizontal">

        <ImageButton
            android:id="@+id/displayShareBtn"
            style="@android:style/Widget.Holo.Button.Borderless.Small"
            android:background="@android:color/transparent"
            android:layout_width="0dp"
            android:layout_weight="1"
            android:layout_height="wrap_content"
            android:layout_gravity="center_vertical|center_horizontal"
            android:padding="20dp"
            android:src="@drawable/share"
            android:contentDescription="Share the picture"/>

        <ImageButton
            android:id="@+id/displayDiscardBtn"
            style="@android:style/Widget.Holo.Button.Borderless.Small"
            android:background="@android:color/transparent"
            android:layout_width="0dp"
            android:layout_weight="1"
            android:layout_height="wrap_content"
            android:layout_gravity="center_vertical|center_horizontal"
            android:padding="20dp"
            android:src="@drawable/contentdiscard"
            android:contentDescription="Discard Picture"/>

    </LinearLayout>
Run Code Online (Sandbox Code Playgroud)

这是我的onCreate方法在加载时将alpha设置为0,就像在xml中完成它不起作用...

    AlphaAnimation alpha = new AlphaAnimation(0.0F, 0.0F);
    alpha.setDuration(0); // Make animation instant
    alpha.setFillAfter(true); // Tell it to persist after the animation ends
    // And then on your layout
    this._photoOptionsBar.startAnimation(alpha);
Run Code Online (Sandbox Code Playgroud)

然后,当我想展示它时,我打电话给以下.

public void showOptions() {
        AlphaAnimation alpha = new AlphaAnimation(0.0F, 1.0F);
        alpha.setDuration(PhotoDisplayFragment.FADE_DURATION); …
Run Code Online (Sandbox Code Playgroud)

android android-linearlayout android-4.0-ice-cream-sandwich

4
推荐指数
1
解决办法
2778
查看次数