小编Jos*_*a W的帖子

如何更改工具栏主页图标颜色

我正在使用android.support.v7.widget.Toolbar并从这篇文章中了解如何将汉堡包图标的颜色更改为白色,但当我调用时,向上/向后箭头仍然是深色

setDisplayHomeAsUpEnabled(true);
Run Code Online (Sandbox Code Playgroud)

我怎样才能使箭头变白?

当我调用setDisplayHomeAsUpEnabled()时,这是我的工具栏的样子:

在此输入图像描述

...这是我的styles.xml文件的相关部分:

<style name="AppTheme" parent="Theme.AppCompat.NoActionBar">
    <item name="colorPrimary">@color/primary</item>
    <item name="colorPrimaryDark">#194C5F</item>
    <item name="colorAccent">@color/accent</item>
    <item name="drawerArrowStyle">@style/WhiteDrawerIconStyle</item>
</style>

    <style name="WhiteDrawerIconStyle" parent="Widget.AppCompat.DrawerArrowToggle">
        <item name="spinBars">true</item>
        <item name="color">@android:color/white</item>
    </style>
Run Code Online (Sandbox Code Playgroud)

icons android toolbar android-support-library

99
推荐指数
11
解决办法
12万
查看次数

Android AudioRecord到服务器上的UDP播放问题

我正在尝试制作一个简单的Android应用程序,将实时麦克风音频流式传输到服务器进行播放.产生的播放听起来很奇怪,音频间隙很大.有谁知道我做错了什么?

编辑:解决了.结果我假设每个传入的缓冲区都会完全填满,这是我的错误假设.

这是我的活动:

public class MainActivity extends Activity {
    private static String TAG = "AudioClient";

    // the server information
    private static final String SERVER = "xx.xx.xx.xx";
    private static final int PORT = 50005;

    // the audio recording options
    private static final int RECORDING_RATE = 44100;
    private static final int CHANNEL = AudioFormat.CHANNEL_IN_MONO;
    private static final int FORMAT = AudioFormat.ENCODING_PCM_16BIT;

    // the button the user presses to send the audio stream to the server
    private Button sendAudioButton;

    // the audio recorder …
Run Code Online (Sandbox Code Playgroud)

audio streaming android audiorecord

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

屏幕关闭时,前台服务未在Android 7.0+中接收位置更新

我正在尝试创建一个Android应用程序,在设备屏幕关闭时实时连续记录设备位置数据.我的代码可以在Android 6.0及更早版本中正常运行,但似乎Android 7.0+破坏了我的应用.

我已经实现了一个使用唤醒锁的Android前台服务,并订阅了Google FusedLocation API.关闭屏幕后,onLocationChanged永远不会触发回调.

有谁见过这个问题的解决方案?我尝试通过Android应用的Android设备设置以及Google服务框架和融合位置禁用电池优化.

public class ForegroundLocationService extends Service implements
        GoogleApiClient.ConnectionCallbacks,
        GoogleApiClient.OnConnectionFailedListener,
        LocationListener {

    private static final String TAG = ForegroundLocationService.class.getSimpleName();

    // the notification id for the foreground notification
    public static final int GPS_NOTIFICATION = 1;

    // the interval in seconds that gps updates are requested
    private static final int UPDATE_INTERVAL_IN_SECONDS = 15;

    // is this service currently running in the foreground?
    private boolean isForeground = false;

    // the google api client
    private GoogleApiClient googleApiClient; …
Run Code Online (Sandbox Code Playgroud)

gps android location wakelock android-7.0-nougat

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

设置Android Photo EXIF方向

我编写了一个以编程方式捕获照片的Android活动.我想将图像保存为具有正确EXIF方向数据的JPEG(就像原生Android Camera应用程序自动执行一样).

这是实际拍摄照片的方法(我删除了try/catch块):

private void takePhoto() {

    camera = Camera.open();
    SurfaceTexture dummySurfaceTexture = new SurfaceTexture(0);
    camera.setPreviewTexture(dummySurfaceTexture);
    camera.startPreview();
    camera.takePicture(null, null, jpgCallback);
}
Run Code Online (Sandbox Code Playgroud)

...和回调:

private Camera.PictureCallback jpgCallback = new Camera.PictureCallback() {
    public void onPictureTaken(byte[] data, Camera camera) {

        releaseCamera();
        savePhoto(data);
};
Run Code Online (Sandbox Code Playgroud)

照片拍摄得当,但我的问题是EXIF数据显示方向设置为"图像方向:顶部,左手",无论设备的方向如何,因此当我上传照片时,它会显示为颠倒或旋转.

我是否真的需要手动捕捉设备方向(滚动,俯仰,方位角)并自己编写EXIF方向?Camera应用程序如何自动正确地写入此数据?有谁知道正确设置此属性的方法?

编辑:我无法使用屏幕方向,因为活动被锁定为纵向模式.

camera android exif android-camera android-orientation

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

带有CSipSimple和pjsip的Android SIP

我正在编写一个自定义Android应用程序,允许用户使用SIP进行VOIP调用.当用户按下按钮时,与另一个SIP用户发起语音呼叫.而已.唯一的其他要求是它必须在2.3+ Android设备上工作,并且不能仅限于wifi.

Android已经包含一个SIP堆栈(从2.3开始),我能够修改Walkie-Talkie示例项目,使其完全符合我的要求.不幸的是我无法将这个应用程序与某些设备一起使用(Casio Commando就是其中之一),更糟糕的是,该应用程序仅适用于wifi(正如我所提到的,对我的项目来说是不可接受的).

我开始使用易于使用的API搜索另一个SIP堆栈,并遇到了CSimpleSip.我编译并运行他们的演示项目(SipHome),它在我不支持的手机(包括Commando)上工作得很好,它也可以在wifi上工作,满足我的要求.我很兴奋......直到我查看了CSipSimple的源代码.我不知道如何开始提取对底层pjsip API的实际调用,也不能让我的pjsip演示应用程序在10个多小时后才能运行.

有没有人解构过CSipSimple并将SIP部分从其极其复杂的用户界面中分离出来,或者有人知道更简单的SIP库吗?使用本机SIP API,我能够进行200行Android活动,使得呼叫完美无缺......如何通过支持非wifi的第三方SIP堆栈来实现这一目标?

感谢您提供任何意见,我知道很多人已经陷入了同一个阶段.

android voip sip pjsip csip-simple

7
推荐指数
1
解决办法
9021
查看次数

Eclipse不会从OSX Mountain Lion上的全新安装启动

我正在使用运行OSX 10.8.2的27"iMac,其中包含从http://www.eclipse.org/downloads/下载的最新Eclipse软件包(4.2.0)(Eclipse IDE for Java EE Developers,Mac OS X 64 Bit)我解压缩了下载的文件,它创建了一个名为"eclipse"的目录.

在该目录中,我双击Eclipse应用程序.它运行2秒左右,显示启动画面,然后消息显示"发生了错误.有关详细信息,请参阅日志文件配置1351540676859.log".

打开该日志会显示以下堆栈跟踪:

!SESSION 2012-10-29 15:57:56.642 -----------------------------------------------
eclipse.buildId=M20120914-1800
java.version=1.6.0_37
java.vendor=Apple Inc.
BootLoader constants: OS=macosx, ARCH=x86_64, WS=cocoa, NL=en_US
Framework arguments:  -product org.eclipse.epp.package.jee.product -keyring /Users/joshua/.eclipse_keyring -showlocation
Command-line arguments:  -os macosx -ws cocoa -arch x86_64 -product org.eclipse.epp.package.jee.product -keyring /Users/joshua/.eclipse_keyring -showlocation

!ENTRY org.eclipse.osgi 4 0 2012-10-29 15:58:02.633
!MESSAGE Application error
!STACK 1
java.lang.NullPointerException
    at org.eclipse.swt.widgets.Display.applicationWillFinishLaunching(Display.java:5053)
    at org.eclipse.swt.widgets.Display.applicationProc(Display.java:5153)
    at org.eclipse.swt.internal.cocoa.OS.objc_msgSendSuper(Native Method)
    at org.eclipse.swt.widgets.Display.finishLaunching(Display.java:4849)
    at org.eclipse.swt.widgets.Display.applicationProc(Display.java:5130)
    at org.eclipse.swt.internal.cocoa.OS.objc_msgSend(Native Method)
    at org.eclipse.swt.internal.cocoa.NSApplication.finishLaunching(NSApplication.java:59)
    at org.eclipse.swt.widgets.Display.init(Display.java:2163)
    at …
Run Code Online (Sandbox Code Playgroud)

java eclipse macos

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

Android相机无法从后台服务拍照

我已经实现了一个从后台线程拍照的服务,但照片永远不会在我的任何设备上拍摄...这里是代码(下面的日志输出):

public class PhotoCaptureService extends Service {
    private static final String TAG = "PhotoCaptureService";

    @Override
    public void onStart(Intent intent, int startId) {
        super.onStart(intent, startId);
        Log.d(TAG, "Starting the PhotoCaptureService");
        takePhoto();
    }

    private void takePhoto() {

        Log.d(TAG, "Preparing to take photo");
        Camera camera = null;

        try {

            camera = Camera.open();

        } catch (RuntimeException e) {

            Log.e(TAG, "Camera not available", e);
            return;
        }

        if (null == camera) {

            Log.e(TAG, "Could not get camera instance");
            return;
        }

        Log.d(TAG, "Got the camera, creating the dummy …
Run Code Online (Sandbox Code Playgroud)

service camera android background photo

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