Периодически запускать прозрачную активность, не прерывая текущую активность

#android

#Android

Вопрос:

У меня есть полупрозрачная активность, которую я хочу запускать каждую минуту после первоначального нажатия кнопки. Это действие содержит строку текста, которую я просто хочу отобразить, даже если пользователь закрыл приложение, не прерывая текущую активность пользователя (которая должна быть видна в фоновом режиме. Пока я могу запустить действие, но оно останавливает текущую активность, а фоном является другое действие из моего собственного приложения.
Ниже приведен созданный мной класс аварийных сигналов:

 public void startAlarm(Context context) {
    if (Build.VERSION.SDK_INT < 19) {
        Intent intent = new Intent(context, MyBroadcastReceiver.class);
        PendingIntent pendingIntent = PendingIntent.getBroadcast(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);

        AlarmManager alarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
        alarmManager.set(AlarmManager.ELAPSED_REALTIME_WAKEUP,
                SystemClock.elapsedRealtime()   (1000 * 60),
                pendingIntent);
    } else {
        Intent intent = new Intent(context, MyBroadcastReceiver.class);
        PendingIntent pendingIntent = PendingIntent.getBroadcast(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);

        AlarmManager alarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
        alarmManager.setExact(AlarmManager.ELAPSED_REALTIME_WAKEUP,
                SystemClock.elapsedRealtime()   (1000 * 60),
                pendingIntent);
    }
}
  

Теперь мой класс широковещательного приемника:

 @Override
public void onReceive(Context context, Intent intent) {
    // Start service
    Intent service = new Intent(context, MyService.class);
    context.startService(service);

    // Schedule next alarm
    alarm.startAlarm(context);
}
  

И теперь служба, которая запускает активность:

 @Override
public int onStartCommand(Intent intent, int flags, int startId) {
    // Start ad activity
    Intent activity = new Intent(context, MainActivity.class);
    activity.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    context.startActivity(activity);

    stopSelf();

    return START_STICKY;
}
  

Вот мой manifest.xml отображение рассматриваемой активности:

     <activity
        android:name=".MainActivity"
        android:label="@string/title_activity_main"
        android:theme="@style/Theme.FullTransparent" />
  

И стиль, который я применил:

 <style name="Theme.FullTransparent" parent="AppTheme.NoActionBar">
    <item name="android:windowIsTranslucent">true</item>
    <item name="android:windowBackground">@android:color/transparent</item>
    <item name="android:windowContentOverlay">@null</item>
    <item name="android:windowNoTitle">true</item>
    <item name="android:windowIsFloating">false</item>
    <item name="android:backgroundDimEnabled">true</item>
</style>
  

Любая помощь будет принята с благодарностью. Заранее спасибо!

Комментарии:

1. Итак, вы просто хотите отобразить немного текста поверх любой активности? Почему вы не можете просто использовать Toast?

2. (показывает) полупрозрачную активность… без прерывания текущей активности пользователя невозможно

3. Удалите это действие.addFlags(намерение. FLAG_ACTIVITY_NEW_TASK);

4. @Dportology я также намерен добавить изображение

5. @Selvin как насчет приостановки текущей активности при отображении моей?