我推出应用程序进入BETA测试和4.4设备的多个用户报告该应用程序导致整个手机崩溃,手机几乎重新启动应用程序启动,即使应用程序甚至没有这样的权限.
我从测试人员那里得到的报告如下:
java.lang.RuntimeException: bad array lengths
at android.os.Parcel.readIntArray(Parcel.java:820)
at android.app.INotificationManager$Stub$Proxy.enqueueNotificationWithTag(INotificationManager.java:348)
at android.app.NotificationManager.notify(NotificationManager.java:139)
at android.app.NotificationManager.notify(NotificationManager.java:112)
at als.wakeup.Awake_Alarm$MyLocationListener.onLocationChanged(Awake_Alarm.java:272)
at android.location.LocationManager$ListenerTransport._handleMessage(LocationManager.java:279)
at android.location.LocationManager$ListenerTransport.access$000(LocationManager.java:208)
at android.location.LocationManager$ListenerTransport$1.handleMessage(LocationManager.java:224)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:157)
at android.app.ActivityThread.main(ActivityThread.java:5293)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1265)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1081)
at dalvik.system.NativeStart.main(Native Method)
Run Code Online (Sandbox Code Playgroud)
这在4.2,4.3工作正常但似乎Galaxy Note 3和Galaxy S5运行4.4重启.
原因是什么?是应用程序相关还是在新操作系统中出现故障?
刚刚发现它在Xperia Z1上运行良好,4.4并且没有崩溃.似乎只有三星引起了这个,任何提示?
通知创建功能:
public Notification CreateNotification(double distance){
Intent notificationIntentStop = new Intent(this.getApplicationContext(), StopService.class);
PendingIntent contentIntentStop = PendingIntent.getActivity(this.getApplicationContext(), 0, notificationIntentStop, 0);
Bitmap largeIcon = BitmapFactory.decodeResource(getResources(), R.drawable.logo);
Shortcuts shorts = new Shortcuts(this);
NotificationCompat.Builder mBuilder =
new NotificationCompat.Builder(this) …Run Code Online (Sandbox Code Playgroud) <menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:compat="http://schemas.android.com/apk/res-auto" >
<item android:id="@+id/action_chat"
android:icon="@drawable/ico_enter_chat"
android:title="Enter Chat"
compat:showAsAction="always|withText" />
<item android:id="@+id/action_map"
android:icon="@drawable/ico_map"
android:title="Users Map"
compat:showAsAction="always" />
<item android:id="@+id/action_logout"
android:icon="@drawable/ico_log_out"
android:title="Log Out"
compat:showAsAction="always" />
</menu>
Run Code Online (Sandbox Code Playgroud)
这是我的菜单XML文件,理论上它应该显示两个图标作为单个图标,并且第一个图标也显示标题。
但是,在应用程序中它不显示标题,这是屏幕截图:

那么为什么它不显示“标题”呢?
我搜索了许多条款和判决,但无法找到任何关于此的信息.所以无论如何:如何为闹钟(默认应用)获取默认或当前设置的音乐/音调/声音?
如果我每天早上醒来都会播放闹钟歌曲:歌曲#1使用默认闹钟应用程序,如何在我的自定义应用程序中获得该歌曲#1?
我正在尝试创建自己的闹钟应用程序,但我不想设置用户可能不喜欢的语气.
也许有办法打开默认闹钟音调选择器/浏览器,让用户在我的自定义应用程序中设置它?或者所有这些都需要自定义编码?
如果以上都不可能 - 我怎样才能在我的应用程序中播放默认警报声?
我几乎完成了我的应用程序,最后的功能是在电池电量低于特定级别时调用特定操作.
所以出于测试目的,我想知道 - 我怎么能耗尽电池?
PS - 使用AVD不会工作,因为我的应用程序使用的是Google Play服务,因此我正在手机上测试应用程序.
好吧,我意识到我的原始代码将近 400 行,所以我稍微格式化了一下,只留下了最重要的部分,所以我希望有人能提供帮助。
所以基本上我在后台服务中运行 LocationListener,这里是代码:package als.wakeup;
import java.text.DecimalFormat;
import java.util.Calendar;
import com.google.android.gms.maps.model.LatLng;
import android.app.AlarmManager;
import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.app.Service;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.location.Criteria;
import android.location.GpsStatus;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.location.LocationProvider;
import android.os.BatteryManager;
import android.os.Bundle;
import android.os.IBinder;
import android.support.v4.app.NotificationCompat;
import android.util.Log;
import android.widget.Toast;
public class Awake_Alarm extends Service implements GpsStatus.Listener{
public static final String BROADCAST_ACTION = "als.wakeup.Intro";
private static final int TWO_MINUTES = 1000 * …Run Code Online (Sandbox Code Playgroud) 我是linux的新手,所以我想知道如何让服务永远运行?如果崩溃或停止会自动重启?
我正在运行Node.js + Socket.io作为聊天服务器.
我基本上写了这段代码:
socket.on('disconnect', function (socket) {
var remove_id = usersonline.indexOf(socket.user);
usersonline.splice(remove_id, 1);
socket.broadcast.emit('usergone', {
'left_user' : socket.username
});
});
Run Code Online (Sandbox Code Playgroud)
这是服务器端,这是客户端:
socket.on('usergone', function(data){
var old_user = data['left_user'];
console.log(old_user);
$(old_user).remove();
});
Run Code Online (Sandbox Code Playgroud)
然而它并没有消失,我测试了它不执行客户端代码,我猜这意味着它没有到达它。
有任何想法吗?
基本上我正在构建聊天应用程序。到目前为止,它工作正常,当用户加入时,他们会被添加到用户在线列表等...但是当用户离开时 - 我无法找到方法告诉所有其他在线用户该用户已离开并将其从用户在线列表/选项卡中删除。
我正在使用以下命令创建套接字连接:
var http = require('http'),
express = require('express'),
app = express(),
jade = require('jade'),
io = require('socket.io'),
server = http.createServer(app);
io = io.listen(server);
server.listen(3000);
app.set('views', __dirname + '/views');
app.set('view engine', 'jade');
app.set("view options", { layout: false });
app.use(express.static(__dirname + '/public'));
app.get('/', function(req, res){
res.render('home.jade');
});
var usersonline …Run Code Online (Sandbox Code Playgroud) 我有这个代码:
ImageIcon ii = new ImageIcon("https://c1.staticflickr.com/9/8384/8682624224_4e44bf947d_h.jpg");
subStream.add(new JLabel(ii));
Run Code Online (Sandbox Code Playgroud)
它的目的是将JLabel照片添加到JPanel名为subStream. 但它不起作用,没有错误或任何东西。为什么这样?

图像应该出现在第三个 JPanel 中,位于按钮上方。
我正在尝试创建接受7位数代码(至少)的函数,然后加载角色的图像/元素,从而从代码创建一个字符.
我写了这段代码:
<script type="text/javascript">
var skins = [];
skins["w"] = "http://example.com/char_elements/base.png";
var eyes = [];
eyes["b"] = "http://example.com/char_elements/eyes/blue.png";
eyes["g"] = "http://example.com/char_elements/eyes/green.png";
eyes["r"] = "http://example.com/char_elements/eyes/red.png";
var hair = [];
hair["b"] = "http://example.com/char_elements/hair/black.png";
hair["w"] = "http://example.com/char_elements/hair/blond.png";
hair["s"] = "http://example.com/char_elements/hair/brown.png";
var mouth = [];
mouth["h"] = "http://example.com/char_elements/mouth/happy.png";
var pants = [];
pants["s"] = "http://example.com/char_elements/pants/shorts.png";
var shoes = [];
shoes["b"] = "http://example.com/char_elements/shoes/black.png";
var torso = [];
torso["s"] = "http://example.com/char_elements/torso/shirt.png"
function LoadChar(code){
var data = code.split(/(?=[a-z])/i);
var skins = [skins[data[0]], eyes[data[1]], hair[data[2]], mouth[data[3]], pants[data[4]], shoes[data[5]], …Run Code Online (Sandbox Code Playgroud)