Android 9 requires a new permission for foreground services
This commit is contained in:
parent
0f2bd3a52a
commit
886b5a36c0
2 changed files with 8 additions and 6 deletions
|
@ -356,7 +356,6 @@ public final class LinphoneService extends Service {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
Intent missedCallNotifIntent = new Intent(LinphoneService.this, incomingReceivedActivity);
|
Intent missedCallNotifIntent = new Intent(LinphoneService.this, incomingReceivedActivity);
|
||||||
missedCallNotifIntent.putExtra("GoToHistory", true);
|
missedCallNotifIntent.putExtra("GoToHistory", true);
|
||||||
PendingIntent intent = PendingIntent.getActivity(LinphoneService.this, 0, missedCallNotifIntent, PendingIntent.FLAG_UPDATE_CURRENT);
|
PendingIntent intent = PendingIntent.getActivity(LinphoneService.this, 0, missedCallNotifIntent, PendingIntent.FLAG_UPDATE_CURRENT);
|
||||||
|
|
|
@ -1315,6 +1315,8 @@ public class LinphoneActivity extends LinphoneGenericActivity implements OnClick
|
||||||
protected void onStart() {
|
protected void onStart() {
|
||||||
super.onStart();
|
super.onStart();
|
||||||
ArrayList<String> permissionsList = new ArrayList<>();
|
ArrayList<String> permissionsList = new ArrayList<>();
|
||||||
|
permissionsList.add(Manifest.permission.SYSTEM_ALERT_WINDOW); // This one is to allow floating notifications
|
||||||
|
permissionsList.add("android.permission.FOREGROUND_SERVICE"); // Manifest.permission.FOREGROUND_SERVICE, required starting Android 9 to be able to start a foreground service
|
||||||
|
|
||||||
int contacts = getPackageManager().checkPermission(Manifest.permission.READ_CONTACTS, getPackageName());
|
int contacts = getPackageManager().checkPermission(Manifest.permission.READ_CONTACTS, getPackageName());
|
||||||
Log.i("[Permission] Contacts permission is " + (contacts == PackageManager.PERMISSION_GRANTED ? "granted" : "denied"));
|
Log.i("[Permission] Contacts permission is " + (contacts == PackageManager.PERMISSION_GRANTED ? "granted" : "denied"));
|
||||||
|
@ -1326,19 +1328,22 @@ public class LinphoneActivity extends LinphoneGenericActivity implements OnClick
|
||||||
Log.i("[Permission] Read external storage for ring tone permission is " + (ringtone == PackageManager.PERMISSION_GRANTED ? "granted" : "denied"));
|
Log.i("[Permission] Read external storage for ring tone permission is " + (ringtone == PackageManager.PERMISSION_GRANTED ? "granted" : "denied"));
|
||||||
|
|
||||||
if (ringtone != PackageManager.PERMISSION_GRANTED) {
|
if (ringtone != PackageManager.PERMISSION_GRANTED) {
|
||||||
if (LinphonePreferences.instance().firstTimeAskingForPermission(Manifest.permission.READ_EXTERNAL_STORAGE) || ActivityCompat.shouldShowRequestPermissionRationale(this, Manifest.permission.READ_EXTERNAL_STORAGE)) {
|
if (LinphonePreferences.instance().firstTimeAskingForPermission(Manifest.permission.READ_EXTERNAL_STORAGE)
|
||||||
|
|| ActivityCompat.shouldShowRequestPermissionRationale(this, Manifest.permission.READ_EXTERNAL_STORAGE)) {
|
||||||
Log.i("[Permission] Asking for read external storage for ring tone");
|
Log.i("[Permission] Asking for read external storage for ring tone");
|
||||||
permissionsList.add(Manifest.permission.READ_EXTERNAL_STORAGE);
|
permissionsList.add(Manifest.permission.READ_EXTERNAL_STORAGE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (readPhone != PackageManager.PERMISSION_GRANTED) {
|
if (readPhone != PackageManager.PERMISSION_GRANTED) {
|
||||||
if (LinphonePreferences.instance().firstTimeAskingForPermission(Manifest.permission.READ_PHONE_STATE) || ActivityCompat.shouldShowRequestPermissionRationale(this, Manifest.permission.READ_PHONE_STATE)) {
|
if (LinphonePreferences.instance().firstTimeAskingForPermission(Manifest.permission.READ_PHONE_STATE)
|
||||||
|
|| ActivityCompat.shouldShowRequestPermissionRationale(this, Manifest.permission.READ_PHONE_STATE)) {
|
||||||
Log.i("[Permission] Asking for read phone state");
|
Log.i("[Permission] Asking for read phone state");
|
||||||
permissionsList.add(Manifest.permission.READ_PHONE_STATE);
|
permissionsList.add(Manifest.permission.READ_PHONE_STATE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (contacts != PackageManager.PERMISSION_GRANTED) {
|
if (contacts != PackageManager.PERMISSION_GRANTED) {
|
||||||
if (LinphonePreferences.instance().firstTimeAskingForPermission(Manifest.permission.READ_CONTACTS) || ActivityCompat.shouldShowRequestPermissionRationale(this, Manifest.permission.READ_CONTACTS)) {
|
if (LinphonePreferences.instance().firstTimeAskingForPermission(Manifest.permission.READ_CONTACTS)
|
||||||
|
|| ActivityCompat.shouldShowRequestPermissionRationale(this, Manifest.permission.READ_CONTACTS)) {
|
||||||
Log.i("[Permission] Asking for contacts");
|
Log.i("[Permission] Asking for contacts");
|
||||||
permissionsList.add(Manifest.permission.READ_CONTACTS);
|
permissionsList.add(Manifest.permission.READ_CONTACTS);
|
||||||
}
|
}
|
||||||
|
@ -1348,8 +1353,6 @@ public class LinphoneActivity extends LinphoneGenericActivity implements OnClick
|
||||||
ContactsManager.getInstance().fetchContactsAsync();
|
ContactsManager.getInstance().fetchContactsAsync();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// This one is to allow floating notifications
|
|
||||||
permissionsList.add(Manifest.permission.SYSTEM_ALERT_WINDOW);
|
|
||||||
|
|
||||||
if (permissionsList.size() > 0) {
|
if (permissionsList.size() > 0) {
|
||||||
String[] permissions = new String[permissionsList.size()];
|
String[] permissions = new String[permissionsList.size()];
|
||||||
|
|
Loading…
Reference in a new issue