Android 三星A5停止应用
我们已经为智能手机开发了一个设备和一个应用程序(原生Android)。该设备通过蓝牙低能量将数据传输至手机,应用程序在手机中处理数据。有些用户希望长时间、甚至几周内一直使用该系统。进入手机的数据传输应连续无中断。 在使用三星Galaxy A5(2017)进行的测试中,android操作系统6.0.1可以正常工作数小时。但当应用程序运行时间较长时,手机的操作系统往往会停止应用程序。偶尔,只有蓝牙停止。在较旧的手机型号和操作系统5(如Galaxy S4)中,不会出现此类问题。Android 三星A5停止应用,android,bluetooth-lowenergy,samsung-galaxy,Android,Bluetooth Lowenergy,Samsung Galaxy,我们已经为智能手机开发了一个设备和一个应用程序(原生Android)。该设备通过蓝牙低能量将数据传输至手机,应用程序在手机中处理数据。有些用户希望长时间、甚至几周内一直使用该系统。进入手机的数据传输应连续无中断。 在使用三星Galaxy A5(2017)进行的测试中,android操作系统6.0.1可以正常工作数小时。但当应用程序运行时间较长时,手机的操作系统往往会停止应用程序。偶尔,只有蓝牙停止。在较旧的手机型号和操作系统5(如Galaxy S4)中,不会出现此类问题。 有什么方法可以保护应用
有什么方法可以保护应用程序不被停止吗?在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;
}
}
}这取决于手机是否预装或正常安装了电池节省应用程序,该应用程序会长时间停止后台操作。
Project已具有请求许可的代码。权限已授予。您是否明确请求权限?因为启动Android API 23需要向用户请求权限。