</activity>
<activity
android:name=".NotificationActivity"
- android:theme="@style/ICNotification"
- android:launchMode="singleTop">
-
-
-
- </activity>
+ android:theme="@style/ICNotification"/>
</application>
</manifest>
\ No newline at end of file
package com.ic.launcher.presenter;
+import android.app.ActivityManager;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import org.threeten.bp.ZoneId;
import org.threeten.bp.format.DateTimeFormatter;
+import java.util.ArrayList;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
null, null, null, null);
if (query != null) {
if (query.moveToNext()) {
- mContext.startActivity(new Intent(mContext, NotificationActivity.class));
+ //判断当前是不是拨号在前,如果是的话,就不要弹出
+ boolean isInCallUiTop = checkInCallUiTop();
+ if (!isInCallUiTop) {
+ mContext.startActivity(new Intent(mContext, NotificationActivity.class));
+ }
}
query.close();
}
});
}
+ private boolean checkInCallUiTop() {
+ ArrayList<String> arrayList = new ArrayList();
+ arrayList.add("com.android.incallui.InCallActivity");
+ return arrayList.contains((((ActivityManager) mContext.getSystemService(Context.ACTIVITY_SERVICE))
+ .getRunningTasks(1).get(0)).topActivity.getClassName());
+ }
+
private final BroadcastReceiver mIntentReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {