Я сейчас участвую в обучении работе с уведомлениями Phonegap на Android. В то время как экран будет выведено уведомление, как представляется, довольно простой процессПриложение Android Phonegap - Приведение деятельности на передний план
public void triggerTestNotification(String tag, int id,Context ctxt)
{
Intent notificationIntent = new Intent(context, PallActivity.class);
notificationIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK |
Intent.FLAG_ACTIVITY_CLEAR_TOP);
notificationIntent.setAction(Intent.ACTION_MAIN);
notificationIntent.addCategory(Intent.CATEGORY_LAUNCHER);
PendingIntent contentIntent = PendingIntent.getActivity(ctxt, 0,
notificationIntent, PendingIntent.FLAG_UPDATE_CURRENT);
Notification not = new Notification.Builder(ctxt)
.setContentTitle("Title").setContentText("Title")
.setTicker("Tick tock")
.setAutoCancel(true)
.setContentIntent(contentIntent)
.setSmallIcon(ctxt.getApplicationInfo().icon).build();
NotificationManager notificationManager = (NotificationManager)
ctxt.getSystemService(Context.NOTIFICATION_SERVICE);
notificationManager.notify(tag, id, not);
}
, что я нашел гораздо более сложным является следующая
- Пользователь запускает приложение уже
- пользователь уходит и начинает делать что-то else - приложение обращено в исходное положение
- Получено уведомление
- Отображается:
- Пользователь нажимает на уведомление.
На этом этапе приложение должно вернуться на передний план. Я думал, что мой код намерения
public class PallActivity extends Activity
{
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
finish();
forceMainActivityReload();
}
private void forceMainActivityReload()
{
PackageManager pm = getPackageManager();
Intent launchIntent =
pm.getLaunchIntentForPackage(getApplicationContext().getPackageName());
startActivity(launchIntent);
}
@Override
protected void onResume()
{
super.onResume();
final NotificationManager notificationManager = (NotificationManager)
this.getSystemService(Context.NOTIFICATION_SERVICE);
notificationManager.cancelAll();
}
}
будет иметь дело с этим, но он ничего не делает. Понятно, что у меня здесь что-то не так - возможно, в флагах Intent. Я был бы очень обязан всем, кто мог бы поместить меня на правильную дорогу
почему вы звоните '' finish' в onCreate'? –
Я поместил 'finish()' там, потому что видел его в другом плагине. Тем не менее, я пробовал свой код с 'finish()' перемещался в нижней части 'onCreate', а также удалял все вместе.Приложение по-прежнему не возвращается на передний план. – DroidOS
И можете ли вы сказать, какова цель деятельности Pall - я имею в виду, что она сразу же перенаправляется на активность запуска вашего приложения. Разве это не 'PallActivity' ваша активность запуска? Можете ли вы включить свой манифест? –