标签: android-4.1-jelly-bean

在galaxy选项卡中,不会调用videoView的onCompletionListener

对于Android中的视频视图,我添加了一些媒体播放器监听器,如onPreparedListener,onCompletionListener等.但是当视频完成后,onCompletionListener就不会被调用.我们还观察到onCompletionListener会被调用,有时则不会.

此问题仅适用于三星Galaxy平板电脑操作系统版本4.1.2.并且相同的代码在另一台三星设备上正常工作,如S2,S3,S4等.

有人有想法吗?

android samsung-mobile android-videoview android-4.1-jelly-bean

25
推荐指数
1
解决办法
642
查看次数

Android API 16 NDK cwctype和字符串构建错误

Android NDK新手问题.

我正在尝试使用Android NDK编译库.我正在为API16构建并在构建中获得以下错误:

在/ Volumes/MacAirExt/Android/android-ndk-r10e/sources/cxx-stl/llvm-libc ++/libcxx/include/cwchar:107中包含的文件:/ Volumes/MacAirExt/Android/android-ndk-r10e/sources/cxx-stl/llvm-libc ++/libcxx/include/cwctype:88:9:错误:全局命名空间中没有名为'iswblank'的成员; 你的意思是'isblank'吗?using :: iswblank;

在文件中包含/ Volumes/MacAirExt/Android/android-ndk-r10e/sources/cxx-stl/llvm-libc ++/libcxx/include/string:438:/ Volumes/MacAirExt/Android/android-ndk-r10e/sources/cxx-stl/llvm-libc ++/libcxx/include/cwchar:132:9:错误:使用:: vfwscanf在全局命名空间中没有名为'vfwscanf'的成员;

等等

如果我为API21构建,我不会遇到任何构建错误.我想库(LibMailCore)正在使用仅在最新的Android API中提供的字符串函数.

那里的任何专家都知道怎么解决这个问题?

谢谢.

android android-ndk android-5.0-lollipop android-4.1-jelly-bean

17
推荐指数
0
解决办法
2304
查看次数

Android:WebView在多个页面后停止加载

我有一个webview我正在加载自定义HTML使用loadDataWithBaseURL:

mArticleWebView.loadDataWithBaseURL("http://www.example.com/", htmlString, "text/html", "utf-8", null);
Run Code Online (Sandbox Code Playgroud)

这将适用于多个页面,然后事件在WebView中停止触发,因为平板电脑上的Jelly Bean似乎没有理由,并且Web的视图将是空白的.

这个WebViewCreation代码:

private void prepareWebView() {
mArticleWebView.setBackgroundColor(getResources().getColor(R.color.white));
mArticleWebView.setScrollBarStyle(WebView.SCROLLBARS_INSIDE_OVERLAY);
mArticleWebView.addJavascriptInterface(new ArticleJavaScriptInterface(getActivity()), "Company");
mArticleWebView.setWebChromeClient(new CustomChromeClient());
/* WebViewClient must be set BEFORE calling loadUrl! */
mArticleWebView.setWebViewClient(new WebViewClient() {
    @Override
    public void onPageStarted(WebView view, String url, Bitmap favi) {
        Log.e(TAG, "Signs of life, shock and awe.");
        super.onPageStarted(view, url, favi);
    }

  @Override
  public void onPageFinished(WebView view, String url) {
    Log.e(TAG, "onPageFinished..." + url);
    super.onPageFinished(view, url);
  }

  @Override
  public boolean shouldOverrideUrlLoading(WebView view, String url) { …
Run Code Online (Sandbox Code Playgroud)

android android-webview adview android-4.1-jelly-bean

13
推荐指数
0
解决办法
850
查看次数

无法在4.1中的弹出窗口中选择列表视图中的行但在android 5.0中工作

我的页面中有一个弹出窗口,其中包含listview.我已经在一个单独的xml中创建了弹出窗口的设计,并在我的主页面上点击了一些按钮.弹出窗口具有列表视图,每行包含图像和文本视图.我无法在android 4.1中的listview中获得行选择,但它在5.0中工作.有人可以建议我解决方案吗?列表显示:

<ListView android:id="@+id/lstSites"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:fastScrollEnabled="true"
        android:layout_margin="5dp"
        android:descendantFocusability="blocksDescendants"></ListView>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

列表视图项目:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:descendantFocusability="blocksDescendants"
android:focusable="false"
android:focusableInTouchMode="false">
<ImageView
    android:id="@+id/thumbImage"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_centerVertical="true"
    android:layout_marginRight="10dp"
    android:focusable="false"
    android:focusableInTouchMode="false"/>
<TextView
    android:id="@+id/tvSite"
    android:textSize="20dp"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginLeft="10dp"
    android:text="Name"
    android:focusable="false"
    android:focusableInTouchMode="false"/>
Run Code Online (Sandbox Code Playgroud)

添加行单击列表器:

lstSiteMenu = (ListView) popupView.findViewById(R.id.lstSites);

            adapter = new MenuItemsAdapter(SiteActivity.this, arrMenu);
            // Attach the adapter to a ListView
            lstSiteMenu.setAdapter(adapter);
            lstSiteMenu.setOnItemClickListener(new AdapterView.OnItemClickListener() {
                @Override
                public void onItemClick(AdapterView<?> parent, View view,
                                        final int position, long id) {
            }
Run Code Online (Sandbox Code Playgroud)

android listview listviewitem android-4.1-jelly-bean

11
推荐指数
1
解决办法
360
查看次数

第一次打开菜单时,果冻豆没有调用onPrepareOptionsMenu()

我在onPrepareOptionsMenu上重写隐藏和显示菜单项.使用API​​级别16仿真器进行测试时; 第一次打开菜单时不调用onPrepareOptionsMenu.但是,当我重新打开菜单时,它可以工作.问题仅在于第一次使用.你可以用它来简单地测试它;

@Override
public void onPrepareOptionsMenu(Menu menu) {
    Toast.makeText(this.getActivity(), "pre", Toast.LENGTH_SHORT).show();
    super.onPrepareOptionsMenu(menu);
}
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

android android-4.1-jelly-bean

9
推荐指数
2
解决办法
4721
查看次数

按钮样式在Android 5中运行,但不在Android 4中运行

我有一个蓝色背景的按钮样式,在API 22中工作正常,但相同的按钮显示为深灰色而没有在Android 4中应用的样式.这是我的风格:

<style name="MyApp.Plain" parent="Theme.AppCompat.NoActionBar">
      <item name="android:windowBackground">@drawable/background</item>
      <item name="android:buttonStyle">@style/MyApp.Widget.Button</item>
</style>


  <style name="MyApp.Widget.Button" parent="@android:style/Widget.Button">
      <item name="android:background">@drawable/btn_blue</item>
      <item name="android:focusable">true</item>
      <item name="android:clickable">true</item>
      <item name="android:textStyle">bold</item>
      <item name="android:textSize">14sp</item>
      <item name="android:textColor">#fff</item>
      <item name="android:gravity">center_vertical|center_horizontal</item>
   </style>
Run Code Online (Sandbox Code Playgroud)

我的btn_blue.xml

<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:drawable="@drawable/btn_disabled" android:state_enabled="false"/>
    <item android:drawable="@drawable/btn_pressed" android:state_enabled="true" android:state_pressed="true"/>
    <item android:drawable="@drawable/btn_normal_blue" android:state_enabled="true"/>

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

和btn_normal_blue.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle" >

    <gradient
        android:angle="90"
        android:endColor="#368ac6"
        android:startColor="#0e58a4" />

    <corners android:radius="20dp" />

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

可能是这种行为的原因,我该如何解决这个问题?

编辑:这不支持v7:22.2.0,但适用于v7:21.0.3.除了依赖项之外,我没有更改任何内容,并将AppCompatActivity更改为ActionBarActivity.

可能这是一个Android错误.

android styles android-4.1-jelly-bean android-5.1.1-lollipop

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

Permission.android.MANAGE_USB 在 Jellybean 中有效,但在 Lollipop OS 中无效

我正在开发一个需要此权限的应用程序:android.permission.MANAGE_USB


我知道此权限仅在系统应用程序中授予。

如果我在 android 4.1.2 中将该应用程序安装为系统应用程序,则该应用程序可以正常工作。

但是如果我尝试将它作为系统应用程序安装在 android 5.1 中,那么调试日志会打印出我没有权限:

错误:

W/System.err: java.lang.SecurityException: 
Neither user 10074 nor current process has android.permission.MANAGE_USB.
Run Code Online (Sandbox Code Playgroud)

有人知道为什么它在 android 5.1 中一直给我这个错误吗?

显现:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.app">

<uses-permission android:name="android.permission.MANAGE_USB"
    android:protectionLevel="signature" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_INTERNAL_STORAGE" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.GET_TASKS"/>
<permission android:name="android.permission.SET_TIME"
android:protectionLevel="signatureOrSystem"
    />
<uses-feature android:name="android.hardware.usb.host"
    android:required="true"/>


<application
    android:name=".services.AppContext"
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:largeHeap="true"
    android:supportsRtl="true"
    android:hardwareAccelerated="false"
    android:theme="@style/AppTheme">
    <service android:name=".services.KioskService" android:exported="false"/>
    <activity …
Run Code Online (Sandbox Code Playgroud)

java permissions android android-4.1-jelly-bean android-5.1.1-lollipop

6
推荐指数
1
解决办法
3218
查看次数

如何在JellyBean中检查Talkback是否处于活动状态

这个问题询问如何知道Android Talkback是否有效; 直到果冻豆工作.从Android 4.1开始,该步骤不再起作用,因为提到的游标为空.

说完这个,我想问一下是否有办法在Jelly Bean中进行相同的检查.

编辑 我试图搜索TalkBack代码,我在这里找到它.要检查TalkBack是否处于活动状态,我使用以下代码:

Intent screenReaderIntent = new Intent("android.accessibilityservice.AccessibilityService");
screenReaderIntent.addCategory("android.accessibilityservice.category.FEEDBACK_SPOKEN");
List<ResolveInfo> screenReaders = getPackageManager().queryIntentServices(screenReaderIntent, 0);
Cursor cursor = null;
ContentResolver cr = getContentResolver();
for (ResolveInfo screenReader : screenReaders) {
    cursor = cr.query(Uri.parse("content://" + screenReader.serviceInfo.packageName
            + ".providers.StatusProvider"), null, null, null, null);
    //here, cursor is not null, but calling cursor.moveToFirst() returns false, which means the cursor is empty
}
Run Code Online (Sandbox Code Playgroud)

有了这个说,如果光标为空,我们怎么知道TalkBack是否正在运行?

编辑2 在@JoxTraex建议之后,我现在发送广播来查询是否启用了TalkBack:

Intent i = new Intent();
i.setAction("com.google.android.marvin.talkback.ACTION_QUERY_TALKBACK_ENABLED_COMMAND");
sendBroadcast(i);
Run Code Online (Sandbox Code Playgroud)

现在我应该如何收到回复?

我尝试将以下内容添加到清单中,但我的接收方没有收到任何响应:

<receiver android:name="my.package.MyBroadcastReceiver"
android:permission="com.google.android.marvin.talkback.PERMISSION_SEND_INTENT_BROADCAST_COMMANDS_TO_TALKBACK">
<intent-filter> …
Run Code Online (Sandbox Code Playgroud)

android accessibility talkback android-4.1-jelly-bean

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

使用需要比当前 minSdkVersion 更高的 minSdkVersion 的库

我正在使用专为 Android SDK 16 设计的Uber SDK。我目前的 minSdkVersion 是 14。我可以像这样使用它 -

if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
  //Call specific function
}
Run Code Online (Sandbox Code Playgroud)

并将 xml 放在文件夹中layout-v16。但清单合并失败

uses-sdk:minSdkVersion 14 cannot be smaller than version 16 declared in library
Run Code Online (Sandbox Code Playgroud)

我该如何解决这个问题?

android android-manifest android-studio android-4.1-jelly-bean

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

AppCompatActivity自定义ActionBar按钮不会出现在Android 4.1.2上

它在5.1上工作正常,但在4.1.2上没有

我错过了什么?

这是活动xml:

<menu xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:myApp="http://schemas.android.com/apk/res-auto">
    <item android:id="@+id/transfer"
        android:title="@string/transfer"
        android:icon="@drawable/ic_transfer"
        myApp:showAsAction="always" />
    <item android:id="@+id/refresh"
        android:title="@string/refresh"
        android:icon="@drawable/ic_refresh"
        myApp:showAsAction="always" />
    <item android:id="@+id/about"
        android:title="@string/about"
        android:icon="@android:drawable/ic_menu_info_details"
        android:orderInCategory="100"
        myApp:showAsAction="never" />
    <item android:id="@+id/help"
        android:title="@string/title_activity_help"
        android:icon="@android:drawable/ic_menu_info_details"
        android:orderInCategory="101"
        myApp:showAsAction="never" />
    <item android:id="@+id/settings"
        android:title="@string/settings"
        android:icon="@android:drawable/ic_menu_info_details"
        android:orderInCategory="102"
        myApp:showAsAction="never" />
    <item android:id="@+id/search"
        android:title="@string/search"
        android:icon="@android:drawable/ic_menu_info_details"
        android:orderInCategory="103"
        myApp:showAsAction="never" />
    <item android:id="@+id/logout"
        android:title="@string/logout"
        android:icon="@android:drawable/ic_menu_info_details"
        android:orderInCategory="104"
        myApp:showAsAction="never" />
</menu>
Run Code Online (Sandbox Code Playgroud)

这是我的活动类(扩展了另一个扩展AppCompatActivity的活动):

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.my_activity, menu);
    return true;
}
Run Code Online (Sandbox Code Playgroud)

我使用以下appcompat库:

'com.android.support:appcompat-v7:22.2.0'
Run Code Online (Sandbox Code Playgroud)

android android-actionbar android-4.1-jelly-bean appcompatactivity

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