我的应用程序中有一个通知,其中包含以下代码:
//Notification Start
notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
int icon = R.drawable.n1;
CharSequence tickerText = "Call Blocker";
long when = System.currentTimeMillis(); //now
Notification notification = new Notification(icon, tickerText, when);
Intent notificationIntent = new Intent(context, Main.class);
PendingIntent contentIntent = PendingIntent.getActivity(context, 0, notificationIntent, 0);
Context context = getApplicationContext();
CharSequence title = "Call Blocker";
text = "Calls will be blocked while driving";
notification.setLatestEventInfo(context, title, text, contentIntent);
notification.flags |= Notification.FLAG_ONGOING_EVENT;
notification.flags |= Notification.FLAG_SHOW_LIGHTS;
notificationManager.notify(1, notification);
}
Run Code Online (Sandbox Code Playgroud)
我的通知触发得非常好,但我的问题是,当我点击通知中心的通知时,它无法启动我的应用.
基本上,点击我的通知后没有任何反应!我应该怎么做,以便在点击我的通知后开始我的主要活动.谢谢.
我在我的应用程序中打开一个链接,一旦按下后我想显示HomePage以保留用户更多时间.我一直在努力实现这一目标但却无法做到这一点.我将homeLauncher活动作为我的top和baseActivity.
DeepLink Tap>打开所需的活动>用户按下后退按钮>检查其上一个活动但不是homeActivity>如果是,请将用户导航到homeActivity.
尝试以下代码:
@Override
public void onBackPressed() {
ActivityManager mngr = (ActivityManager) getSystemService( ACTIVITY_SERVICE );
List<ActivityManager.RunningTaskInfo> taskList = mngr.getRunningTasks(10);
if(taskList.get(0).numActivities == 1 && taskList.get(0).topActivity.getClassName().equals(this.getClass().getName())){
//// This is last activity
}
else{
//// There are more activities in stack
}
super.onBackPressed();
}
Run Code Online (Sandbox Code Playgroud)
我也试过isTaskRoot但结果是一样的.它没有给出正确的答案.请帮助
android android-intent android-activity back-stack activity-manager
有什么更好的方法来检查活动是否仍在堆栈中以便回调?
Intent i = new Intent(getApplicationContext(),MyClass.class);
startActivity(i);
Run Code Online (Sandbox Code Playgroud)