2017-06-02 6 views
0

スマートフォン用のデバイスとアプリケーション(ネイティブAndroid)を開発しました。デバイスは、アプリケーションがデータを処理する電話機にBluetooth Low Energyを介してデータを通信します。一部のユーザーは、長期間、さらには数週間にわたって常時システムを使用したいと考えています。電話機へのデータ送信は中断することなく継続する必要があります。 アンドロイドOS 6.0.1を搭載したSamsung Galaxy A5(2017)のテストでは、数時間にわたって正常に動作することが判明しました。しかし、アプリケーションが長時間実行されている場合、携帯電話のオペレーティングシステムはアプリケーションを停止させる傾向があります。 Bluetoothのみが停止することがあります。旧式の電話機モデルおよびOS5では、例えば、 Galaxy S4では、このような問題は発生しません。 アプリケーションが停止されないようにアプリケーションを保護する方法はありますか?Samsung A5がアプリケーションを停止する

答えて

0

アンドロイド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; 
    } 
} 

}電話が長時間のバックグラウンド処理を殺しプリインストールまたは正常にインストールされ、バッテリ節約アプリを持っている場合、それが依存

+0

プロジェクトには既に許可を求めるコードがあります。許可が与えられます。 – Timo

+0

権限を明示的に要求しましたか? Android API 23を起動すると、そのユーザーに許可を要求する必要があるためです。 – GGWP

関連する問題