小编Har*_*ger的帖子

Android应用程序在Lollipop上崩溃了

嗨我在我的应用程序上使用谷歌许可证检查器它适用于API 19及以下,但在棒棒糖上崩溃.我看到必须添加到我的许可证检查代码的代码,但我不知道在哪里放置此代码或我应该编辑什么.这是我的代码

日志:

java.lang.IllegalArgumentException: Service Intent must be explicit: Intent { act=com.android.vending.licensing.ILicensingService }
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2298)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2360)
at android.app.ActivityThread.access$800(ActivityThread.java:144)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1278)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5221)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
Caused by: java.lang.IllegalArgumentException: Service Intent must be explicit: Intent { act=com.android.vending.licensing.ILicensingService }
at android.app.ContextImpl.validateServiceIntent(ContextImpl.java:1674)
at android.app.ContextImpl.bindServiceCommon(ContextImpl.java:1773)
at android.app.ContextImpl.bindService(ContextImpl.java:1751)
at android.content.ContextWrapper.bindService(ContextWrapper.java:538)
at com.google.android.vending.licensing.LicenseChecker.checkAccess(LicenseChecker.java:150)
at appinventor.ai_drsalmanshah165.Clinical_Examination.Splash.doCheck(Splash.java:103)
at appinventor.ai_drsalmanshah165.Clinical_Examination.Splash.onCreate(Splash.java:51)
at android.app.Activity.performCreate(Activity.java:5933)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1105)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2251)
... 10 more
Run Code Online (Sandbox Code Playgroud)

Java代码:

public class Splash extends Activity {

MyLicenseCheckerCallback mLicenseCheckerCallback; …
Run Code Online (Sandbox Code Playgroud)

java eclipse android android-5.0-lollipop

15
推荐指数
1
解决办法
6790
查看次数

如何避免使用AudioRecord进行自动增益控制?

如何在android.media.AudioRecord没有任何智能手机制造商相关的花式信号处理的情况下进行录音,如自动增益控制(AGC)和/或均衡,噪声抑制,回声消除,......只是纯麦克风信号?

背景

MediaRecorder.AudioSource 提供九个常数,

  • DEFAULT并且MIC最初在那里,
  • VOICE_UPLINK,VOICE_DOWNLINKVOICE_CALL在API级别4中添加,
  • CAMCORDERVOICE_RECOGNITION在API 7中添加,
  • VOICE_COMMUNICATION 在API 11中添加,
  • REMOTE_SUBMIX 在API 19中添加但不适用于第三方应用程序.

但是他们都没有在所有智能手机上做得干净.相反,我必须自己发现,哪个设备使用哪种信号处理块组合为MediaRecorder.AudioSource常数.

如果PURE_MIC在API级别20中添加第十个常量会很高兴.

但只要没有,我可以做些什么呢?

api android audio-recording

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

在Android中通过耳机插孔输入音频?

我正试图通过耳机插孔为我的最后一年项目获得音频输入.如果有人可以共享有关如何捕获数据的代码,那将是一个很大的帮助.我一直在努力,但由于我对Android很新,我在MediaRecorder.AudioSource中找不到任何耳机插孔的API ......只有这些来源可用:http://developer.android.com/reference/android /media/MediaRecorder.AudioSource.html

audio android signal-processing audio-recording

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

用于前台服务的Android 8通知通道

我想知道我的通知创建源的以下修改是否与Android 8一致. 之前:

Notification.Builder builder = new Notification.Builder(this);
// ... (some code omitted)
myNotification = builder.build();
// ... (some code omitted)
startForeground(MY_NOTIFICATION_ID, myNotification);
Run Code Online (Sandbox Code Playgroud)

后:

Notification.Builder builder;
if ( Build.VERSION.SDK_INT < 26 ) {
    builder = new Notification.Builder(this);
} else {
    final String ChannelId = "mypackage.NotificationChannelID";
    final CharSequence ChannelName = "My Notification";
    NotificationChannel channel = new NotificationChannel(ChannelId, ChannelName, NotificationManager.IMPORTANCE_LOW);
    ((NotificationManager)this.getSystemService(Context.NOTIFICATION_SERVICE)).
        createNotificationChannel(channel);
    builder = new Notification.Builder(this, ChannelId);
}
// ... (some code omitted)
myNotification = builder.build();
// ... (some code omitted)
startForeground(MY_NOTIFICATION_ID, …
Run Code Online (Sandbox Code Playgroud)

notifications android android-8.0-oreo

8
推荐指数
0
解决办法
2314
查看次数

与-O3相比,gcc -Ofast的汇编代码中计算不精确的来源在哪里?

以下 3 行使用"gcc -Ofast -march=skylake"给出不精确的结果:

int32_t  i = -5;
const double  sqr_N_min_1 = (double)i * i;
1. - ((double)i * i) / sqr_N_min_1
Run Code Online (Sandbox Code Playgroud)

显然,第三行中的sqr_N_min_1gets25.(-5 * -5) / 25应该变为 ,1.因此第三行的整体结果正好是0.。事实上,这对于编译器选项"gcc -O3 -march=skylake"是正确的。

但是使用“-Ofast”,最后一行产生-2.081668e-17而不是0.i除了-5(例如67)之外的其他非常小的正或负随机偏差0.。我的问题是:这种不精确的根源究竟在哪里?

为了调查这个,我用 C 写了一个小测试程序:

#include <stdint.h>      /* int32_t */
#include <stdio.h>
#define MAX_SIZE 10

double W[MAX_SIZE];

int main( …
Run Code Online (Sandbox Code Playgroud)

c assembly gcc x86-64 fast-math

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