我们为智能手机开发了一个设备和一个应用程序(原生 Android)。该设备通过低功耗蓝牙将数据传送到应用程序处理数据的手机中。一些用户希望在很长一段时间甚至几周内一直使用该系统。数据传输到手机应该是连续的,没有中断。在对具有 android OS 6.0.1 的三星 Galaxy A5 (2017) 进行的测试中,结果表明该系统可以正常工作数小时。但是当应用程序运行时间较长时,手机的操作系统往往会停止应用程序。有时,只有蓝牙停止。在较旧的手机型号和 OS 5(例如 Galaxy S4)中,不会出现此类问题。有没有办法以不停止的方式保护应用程序?
问问题
185 次
2 回答
0
这取决于手机是否有预装或正常安装的省电应用程序,该应用程序会长时间终止后台操作。 以这个应用程序为例
于 2017-06-02T08:56:34.560 回答
0
在 android OS 6 及更高版本中,您必须询问运行时权限,也许这就是问题所在。在您的项目中添加波纹管代码
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_files);
ActivityCompat.requestPermissions(MainActivity.this,
new String[]{Manifest.permission.BLUETOOTH},
1);
//..your code...
}
@Override
public void onRequestPermissionsResult(int requestCode,
String permissions[], int[] grantResults)
{
switch (requestCode) {
case 1: {
// If request is cancelled, the result arrays are empty.
if (grantResults.length > 0
&& grantResults[0] == PackageManager.PERMISSION_GRANTED) {
// contacts-related task you need to do.
} else {
Toast.makeText(MainActivity.this, "Permission denied", Toast.LENGTH_SHORT).show();
}
return;
}
}
}
于 2017-06-02T08:55:19.990 回答