我想在我的Android应用程序中实现一个WakeLock.我在onCreat()中有以下代码:
pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
myWakeLock = pm.newWakeLock(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON,"WakeLock for Tuner");
Run Code Online (Sandbox Code Playgroud)
导致崩溃的第二行.它抛出一个致命的例外.据我所知,Android说第一个Argument没有有效的唤醒锁定级别.但是在开发者网站上,建议使用FLAG_KEEP_SCREEN_ON,这样我就有点困惑了(http://developer.android.com/reference/android/os/PowerManager.html#newWakeLock%28int,%20java.lang.String% 29)
我是否必须使用已弃用的PowerManager.FULL_WAKE_LOCK?
以下代码,如问题中建议的如何让Android WakeLock工作?,在我看来,这不是正确的方式.
getWindow().addFlags(LayoutParams.FLAG_KEEP_SCREEN_ON);
Run Code Online (Sandbox Code Playgroud)
我不需要为洞穴应用程序唤醒.该应用程序是仪器的调谐器,只应在调谐器运行时保持清醒状态.该计划是在startTuner()方法中调用myWakeLock.acquire(),在stopTuner()方法中调用类似myWakeLock.release().我不知道如何以建议的方式实现这一点.
这是完整的异常消息:
04-13 19:21:14.815: E/AndroidRuntime(9452): FATAL EXCEPTION: main
04-13 19:21:14.815: E/AndroidRuntime(9452): java.lang.RuntimeException: Unable to start activity ComponentInfo{de.benediktbock.ffttest/de.benediktbock.ffttest.MainActivity}: java.lang.IllegalArgumentException: Must specify a valid wake lock level.
04-13 19:21:14.815: E/AndroidRuntime(9452): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2249)
04-13 19:21:14.815: E/AndroidRuntime(9452): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2299)
04-13 19:21:14.815: E/AndroidRuntime(9452): at android.app.ActivityThread.access$700(ActivityThread.java:154)
04-13 19:21:14.815: E/AndroidRuntime(9452): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1284)
04-13 19:21:14.815: E/AndroidRuntime(9452): at android.os.Handler.dispatchMessage(Handler.java:99)
04-13 19:21:14.815: E/AndroidRuntime(9452): at android.os.Looper.loop(Looper.java:137)
04-13 19:21:14.815: E/AndroidRuntime(9452): at android.app.ActivityThread.main(ActivityThread.java:5306) …Run Code Online (Sandbox Code Playgroud) 我想使用SSL_ca_pathssl选项,因为它更可靠.问题是它不使用给定目录中的证书.
此代码有效:
local $NET::HTTPS::SSL_SOCKET_CLASS = 'IO::Socket::SSL';
my $ua = LWP::UserAgent->new(ssl_opts => {
SSL_ca_file => "/etc/pki/tls/certs/ca-bundle.crt",
# SSL_ca_path => "/etc/pki/tls/certs/",
});
Run Code Online (Sandbox Code Playgroud)
但使用SSL_ca_path而不是SSL_ca_file打破脚本.
不工作
local $NET::HTTPS::SSL_SOCKET_CLASS = 'IO::Socket::SSL';
my $ua = LWP::UserAgent->new(ssl_opts => {
# SSL_ca_file => "/etc/pki/tls/certs/ca-bundle.crt",
SSL_ca_path => "/etc/pki/tls/certs/",
});
Run Code Online (Sandbox Code Playgroud)
既不将证书重命名为*.pem也不删除/路径中的尾部都可以解决问题.
目录和文件的权限和所有者是相同的(770)
完整的脚本:https://github.com/Benedikt1992/nagios-jenkins-plugin/blob/master/check_jenkins_job_extended.pl#L71-L75
我正在编程一个调谐器.调谐器是一个片段.我的目标是在手机在横向和纵向模式之间切换时保持调谐器运行.因此,我使用onSaveInstanceState()保存实际状态,并使用onViewStateRestored()恢复它.这实际上非常好.但是我有一个大问题:当片段重建onDestroy()时,onCreateView()和onViewStateRestored()会再次执行.这会导致崩溃.任何想法如何解决它?
在代码下方,请询问您是否需要更详细的代码:
public class TunerFragment extends BasicFragment
{
//View Elemente
public boolean controlButtonUnclicked = true;
private static final String LOG_TAG = "FFTTEST";
private final Semaphore bufferZugriff = new Semaphore(1, true);
//Objecte zur Aufnahme
private int channel_config = AudioFormat.CHANNEL_IN_MONO;
private int format = AudioFormat.ENCODING_PCM_16BIT;
private int sampleRate = 44100;
private int bufferSize = AudioRecord.getMinBufferSize(sampleRate, channel_config, format)*8; // je größer der Buffer, desto genauer die FFT!!
private AudioRecord audioInput = null; //new AudioRecord(AudioSource.MIC, sampleSize, channel_config, format, bufferSize);
private short[] audioBuffer = new …Run Code Online (Sandbox Code Playgroud) 以下代码应该像hans-> snah一样反转String
StringBuffer hilfsbuffer = new StringBuffer(1);
for (int i = 0; i < buffer.length()/2; i++) {
hilfsbuffer.setCharAt(0, buffer.charAt(i)); //Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 0
buffer.setCharAt(i, buffer.charAt(buffer.length()-1-i));
buffer.setCharAt(buffer.length()-1-i, hilfsbuffer.charAt(0)); //Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 0
}
Run Code Online (Sandbox Code Playgroud)
在评论中,您可以看到错误.
如有需要,请询问更多详情.