我正在尝试让我的gradle构建使用堆栈溢出中的示例在控制台提示输入密码
当我有一个例如:
def password = System.console().readLine("Enter keystore password ")
Run Code Online (Sandbox Code Playgroud)
当我跑步时,我得到了错误
Cannot invoke method readLine() on null object
Run Code Online (Sandbox Code Playgroud)
似乎控制台出现了null
.我读过这个需要java 6,如果我进入命令提示符并键入java -version
我正在运行Java(TM)SE运行时环境(版本1.6.0_27-b07).
在Gradle的Github存储库中正在跟踪此问题:无法使用带有Gradle守护程序的System.console().
我写过一个需要使用的Android应用程序AccessibilityService
.我知道如何检查手机上是否启用了辅助功能,但我无法确定是否已在辅助功能菜单中专门启用了我的应用.
我想提示用户是否AccessibilityService
没有运行,但找不到这样做的好方法.是否有任何我可能遗漏的API方法可以让我知道设备上启用了哪些辅助功能服务?
我想知道是否有人遇到过在res/values目录中验证字符串数组的好方法.
我使用默认语言环境通过代码创建,并且可能具有类似的资源
<string-array name="array_example1">
<item>One</item>
<item>Two</item>
<item>Three</item>
</string-array>
Run Code Online (Sandbox Code Playgroud)
然后,当应用程序的翻译人员进行翻译时,他们也会创建一个字符串数组.有时,如果一个翻译落后于另一个资源文件,则阵列中的条目可能不多(可能只有上述示例中的"一个"和"两个")
有没有简单的方法来验证条目数是否不匹配?不匹配可能会导致代码出现问题,但由于应用程序有多种语言的10个字符串数组,因此检查它们是否匹配非常耗时.
其他人对此有何看法?
我已经设置了2个apache服务器.一个在端口80上,另一个在端口8077上.我想通过反向代理在8077上查看服务器上的所有内容.目前我有:
ProxyPreserveHost Off
ProxyHTMLInterp On
ProxyPass /translate/ http://www.example.com:8077/
ProxyPassReverse /translate/ http://www.example.com:8077/
ProxyHTMLURLMap / /translate/
Run Code Online (Sandbox Code Playgroud)
这允许我到达网站的初始页面,但图像,CSS和其他页面的链接不起作用.
例如,html中的css显示为
/css/style.css
Run Code Online (Sandbox Code Playgroud)
我真正希望它在哪里
/translate/css/style.css
Run Code Online (Sandbox Code Playgroud)
它从8077服务器获取文件.如何使用当前设置才能使其正常工作?
我在android 4.4中使用通知监听器服务,我遇到一个错误,导致我的应用程序停止发布通知.
这是相当随机的,但当它发生时,我看到:
12-31 01:40:44.080 21680-21680/? W/ContextImpl? Calling a method in the system process without a qualified user:
android.app.ContextImpl.sendOrderedBroadcast:1192
android.app.ContextImpl.sendOrderedBroadcast:1183
android.content.ContextWrapper.sendOrderedBroadcast:390
com.android.settings.applications.ProcessStatsDetail.checkForceStop:314
com.android.settings.applications.ProcessStatsDetail.onResume:108
Run Code Online (Sandbox Code Playgroud)
在日志中.我甚至可以通过在手机上输入开发者工具的"过程统计数据"部分来重新创建它.一旦我选择了一个使用通知监听器的应用程序,就会发出此警告并取消绑定并销毁该服务,并且当它重新创建时,它并不总是会再次接收事件.
我不确定为什么会发生这种情况,任何人都可以解雇吗?
我正在尝试将我的应用从API19升级到API21
我对gradle属性所做的主要更改是:
compileSdkVersion 21
buildToolsVersion "21.0.2"
minSdkVersion 8
targetSdkVersion 21
compile 'com.android.support:appcompat-v7:21.0.0'
Run Code Online (Sandbox Code Playgroud)
该应用程序构建正常,但我总是收到以下错误:
10-22 23:10:38.867 7972-8058/com.example.android.demo E/ACRA? com.example.android.demo fatal error : Unable to start activity ComponentInfo{com.example.android.demo/com.example.android.demo.MainActivity2}: android.view.InflateException: Binary XML file line #27: Error inflating class android.support.v7.internal.widget.ActionBarContainer
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.android.demo/com.example.android.demo.MainActivity2}: android.view.InflateException: Binary XML file line #27: Error inflating class android.support.v7.internal.widget.ActionBarContainer
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: android.view.InflateException: Binary XML …
Run Code Online (Sandbox Code Playgroud) android android-actionbar android-actionbar-compat android-5.0-lollipop
我正在尝试使用android MediaPlayer类播放一些声音.
这是代码
MediaPlayer mp = new MediaPlayer();
mp.setDataSource(context, Uri.parse(soundUrl));
mp.setAudioStreamType(AudioManager.STREAM_MUSIC);
mp.setLooping(false);
mp.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
Log.i(LOGTAG, "onComplete hit");
mp.stop();
mp.release();
}
});
mp.prepare();
mp.start();
Run Code Online (Sandbox Code Playgroud)
此代码在服务中运行,但由于某种原因,声音播放正常,但放入onCompletion的任何内容似乎都没有触发.然后我在logcat中收到媒体播放器未发布的消息.我对这个问题感到茫然.
我在galaxy nexus 4.0.4 stock rom上运行这个测试.
我还注意到声音最后会被剪掉.
作为我的应用程序的一部分,我通过使用ApplicationPackageManager.getInstalledApplications获得设备上安装的应用程序列表,但对于某些用户,我得到崩溃报告说
android.osBinderProxy.tranasact上的TransactionTooLargeException(本机方法)
谁能想到我为什么会这样?
我刚刚升级到新版本的gmail(v2.3.5),我有一个应用程序查询内容提供商,以获取有关收到消息的联系人的详细信息......
使用最新版本我收到以下错误:
java.lang.SecurityException:Permission Denial:从ProcessRecord打开提供程序com.google.android.gm.provider.MailProvider {40adef58 3576:com.rageconsulting.android.lightflow/10056}(pid = 3576,uid = 10056)需要com. google.android.gm.permission.READ_GMAIL或com.google.android.gm.permission.WRITE_GMAIL`
对于我的清单中的gmail,我声明了以下内容:
<!--permissions for gmail-->
<uses-permission android:name="com.google.android.googleapps.permission.GOOGLE_AUTH"/>
<uses-permission android:name="android.permission.GET_ACCOUNTS"/>
<uses-permission android:name="com.google.android.providers.gmail.permission.READ_GMAIL"/>
<uses-permission android:name="com.google.android.gm.permission.READ_GMAIL"/>
<uses-permission android:name="com.google.android.gm.permission.WRITE_GMAIL"/>
Run Code Online (Sandbox Code Playgroud)
所以据我所知,我的权限是正确的.
我的gmail接收器如下所示:
<receiver android:name=".receiver.GmailReceiver">
<intent-filter>
<action android:name="android.intent.action.PROVIDER_CHANGED" android:priority="-10">
</action>
<data android:scheme="content" android:host="gmail-ls" android:pathPattern="/unread/.*">
</data>
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.PROVIDER_CHANGED" android:priority="-10">
</action>
<data android:mimeType="*/*" android:scheme="content" android:host="gmail-ls" android:path="/unread/^i">
</data>
</intent-filter>
</receiver>
Run Code Online (Sandbox Code Playgroud)
谁能想到我可能错过的东西?
我已经实现了一个扩展NotificationListenerService的类,它适用于拾取已发布的通知.
我当时想要接收statusBarNotification对象并广播它.
我会做以下事情:
@Override
public void onNotificationPosted(StatusBarNotification statusBarNotification) {
Intent intent = new Intent();
intent.putExtra("STATUS_BAR_NOTIFICATION",statusBarNotification);
intent.setAction("com.example.NotificationPosted");
sendBroadcast(intent);
}
Run Code Online (Sandbox Code Playgroud)
但是当我这样做时,我收到以下错误:
01-05 01:50:14.333 19574-19673/com.example W/NotificationListenerService[NotificationListener]? Error running onNotificationPosted
java.lang.RuntimeException: Not allowed to write file descriptors here
at android.os.Parcel.nativeAppendFrom(Native Method)
at android.os.Parcel.appendFrom(Parcel.java:431)
at android.os.Bundle.writeToParcel(Bundle.java:1679)
at android.os.Parcel.writeBundle(Parcel.java:636)
at android.app.Notification.writeToParcel(Notification.java:962)
at android.service.notification.StatusBarNotification.writeToParcel(StatusBarNotification.java:106)
at android.os.Parcel.writeParcelable(Parcel.java:1285)
at android.os.Parcel.writeValue(Parcel.java:1204)
at android.os.Parcel.writeArrayMapInternal(Parcel.java:618)
at android.os.Bundle.writeToParcel(Bundle.java:1692)
at android.os.Parcel.writeBundle(Parcel.java:636)
at android.content.Intent.writeToParcel(Intent.java:7013)
at android.app.ActivityManagerProxy.broadcastIntent(ActivityManagerNative.java:2361)
at android.app.ContextImpl.sendBroadcast(ContextImpl.java:1127)
at android.content.ContextWrapper.sendBroadcast(ContextWrapper.java:365)
at com.example.NotificationListener.onNotificationPosted(NotificationListener.java:113)
at android.service.notification.NotificationListenerService$INotificationListenerWrapper.onNotificationPosted(NotificationListenerService.java:168)
at android.service.notification.INotificationListener$Stub.onTransact(INotificationListener.java:56)
at android.os.Binder.execTransact(Binder.java:404)
at dalvik.system.NativeStart.run(Native Method)
Run Code Online (Sandbox Code Playgroud)
任何人都可以看到我做错了什么,或者这是不可能的.StatusBarNotification实现Parcelable
android android-intent android-notifications android-broadcast