0

我们为智能手机开发了一个设备和一个应用程序(原生 Android)。该设备通过低功耗蓝牙将数据传送到应用程序处理数据的手机中。一些用户希望在很长一段时间甚至几周内一直使用该系统。数据传输到手机应该是连续的,没有中断。在对具有 android OS 6.0.1 的三星 Galaxy A5 (2017) 进行的测试中,结果表明该系统可以正常工作数小时。但是当应用程序运行时间较长时,手机的操作系统往往会停止应用程序。有时,只有蓝牙停止。在较旧的手机型号和 OS 5(例如 Galaxy S4)中,不会出现此类问题。有没有办法以不停止的方式保护应用程序?

4

2 回答 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 回答