我試圖讓我的手機震動並顯示通知,如果我的平板電腦通過藍牙從手機斷開連接。如果通過平板電腦的藍牙菜單將我的平板電腦與手機斷開連接,無論是在手機屏幕打開還是關閉時(我將手機保持睡眠半小時,然後將平板電腦從平板電腦的藍牙菜單斷開連接它的工作原理)。如果我通過手機的藍牙菜單將手機與平板電腦斷開連接,它也可以工作。如果我拿着手機離開平板電腦,並關閉手機屏幕,它也可以工作。與藍牙斷開連接後振動並不總是有效
但是,如果我的手機屏幕離開平板電腦,振動不會發生。不過,通知確實會出現,因爲我在幾分鐘後檢查了手機,並且通知中有正確的時間戳(所以通知不會在我喚醒手機時顯示)。我完全困惑。
這裏是我的相關代碼:
public class BluetoothService extends Service {
public final BroadcastReceiver BluetoothScanner = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
String trueAction = intent.getAction();
if(BluetoothDevice.ACTION_ACL_DISCONNECTED.equals(trueAction)){
BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
String deviceName = device.getName();
dcNotify(deviceName);
Toast.makeText(context, deviceName + " has disconnected", Toast.LENGTH_LONG).show();
}
}
};
public void dcNotify(String s) {
Log.d("status", "commenced");
int notificationId = 1;
NotificationCompat.Builder notificationBuilder =
new NotificationCompat.Builder(this)
.setContentTitle("Device Disconnected")
.setSmallIcon(R.mipmap.ic_launcher);
NotificationManagerCompat notificationManager = NotificationManagerCompat.from(this);
String contentText = "Disconnected from " + s;
notificationBuilder.setContentText(contentText);
long[] pattern = { 0, 100, 500, 100, 500, 100, 500};
Notification notification = notificationBuilder.build();
notification.vibrate = pattern;
notification.defaults |= Notification.DEFAULT_VIBRATE;
notificationManager.notify(notificationId, notification);
}
}
只是好奇,如果你用不同的Android手機試過嗎?它可能是關於你的特定設置的東西,它會覆蓋你的應用程序? – DigitalNinja
是啊我已經試過這與Oppo查找7和Nexus 4以及(我的主要設備是一個OnePlus) – user2524995