嗨我在我的应用程序上使用谷歌许可证检查器它适用于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) 如何在android.media.AudioRecord没有任何智能手机制造商相关的花式信号处理的情况下进行录音,如自动增益控制(AGC)和/或均衡,噪声抑制,回声消除,......只是纯麦克风信号?
MediaRecorder.AudioSource 提供九个常数,
DEFAULT并且MIC最初在那里,VOICE_UPLINK,VOICE_DOWNLINK并VOICE_CALL在API级别4中添加,CAMCORDER并VOICE_RECOGNITION在API 7中添加,VOICE_COMMUNICATION 在API 11中添加,REMOTE_SUBMIX 在API 19中添加但不适用于第三方应用程序.但是他们都没有在所有智能手机上做得干净.相反,我必须自己发现,哪个设备使用哪种信号处理块组合为MediaRecorder.AudioSource常数.
如果PURE_MIC在API级别20中添加第十个常量会很高兴.
但只要没有,我可以做些什么呢?
我正试图通过耳机插孔为我的最后一年项目获得音频输入.如果有人可以共享有关如何捕获数据的代码,那将是一个很大的帮助.我一直在努力,但由于我对Android很新,我在MediaRecorder.AudioSource中找不到任何耳机插孔的API ......只有这些来源可用:http://developer.android.com/reference/android /media/MediaRecorder.AudioSource.html
我想知道我的通知创建源的以下修改是否与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) 以下 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(例如6或7)之外的其他非常小的正或负随机偏差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)