对于Android中的视频视图,我添加了一些媒体播放器监听器,如onPreparedListener,onCompletionListener等.但是当视频完成后,onCompletionListener就不会被调用.我们还观察到onCompletionListener会被调用,有时则不会.
此问题仅适用于三星Galaxy平板电脑操作系统版本4.1.2.并且相同的代码在另一台三星设备上正常工作,如S2,S3,S4等.
有人有想法吗?
android samsung-mobile android-videoview android-4.1-jelly-bean
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
我有一个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) 我的页面中有一个弹出窗口,其中包含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) 我在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)
有任何想法吗?
我有一个蓝色背景的按钮样式,在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
我正在开发一个需要此权限的应用程序: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
这个问题询问如何知道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 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
它在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
android ×10
adview ×1
android-ndk ×1
java ×1
listview ×1
listviewitem ×1
permissions ×1
styles ×1
talkback ×1