我想在当前的活动
中启动一个通知,即ChatActive
。当我按下通知时,我想输入ChatOneActive
。
但是,我不希望当前的ChatOneActivity
在ChatOneActivity
中完成。因为我正在接收数据,当我按下后退按钮时,我想留在聊天活动
。
关键是我不想让聊天活动
结束,不管我目前在哪个活动
中。
那我该怎么办?
这是密码
private void showNotification(String id, String message) {
NotificationCompat.Builder builder = new NotificationCompat.Builder(getApplicationContext())
.setSmallIcon(android.R.drawable.sym_action_email)
.setContentTitle("You have a new message")
.setContentText(message);
Intent intent = new Intent(ChatActivity.this,ChatOneActivity.class);
intent.putExtra("toId", id);
TaskStackBuilder stackBuilder = TaskStackBuilder.create(ChatActivity.this);
stackBuilder.addParentStack(ChatOneActivity.class);
stackBuilder.addNextIntent(intent);
PendingIntent pendingIntent = stackBuilder.getPendingIntent(0, PendingIntent.FLAG_CANCEL_CURRENT);
builder.setContentIntent(pendingIntent);
NotificationManager mNotificationManager =
(NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
mNotificationManager.notify(1, builder.build());
}
问题是:
现在我输入ChatOneActive
,当我按下后退按钮时,我返回桌面。意味着ChatActive
已经完成了我不想要的。
这里是主要的
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.webmobilegroupchat"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="11"
android:targetSdkVersion="16" />
<uses-permission android:name="android.permission.INTERNET" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.example.webmobilegroupchat.MainActivity"
android:label="@string/app_name" >
</activity>
<activity
android:name="com.example.webmobilegroupchat.ChatActivity"
android:label="@string/title_activity_chat" >
</activity>
<activity
android:name="com.example.webmobilegroupchat.ChatOneActivity"
android:label="@string/title_activity_chat_one" >
</activity>
<activity
android:name="com.example.webmobilegroupchat.SplashActivity"
android:label="@string/title_activity_splash" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
创建通知时,您的代码看起来很好,但您还必须在清单中定义父活动,才能返回,stackBuilder。addParentStack
假设您也在清单中为API 16定义了它:
<activity android:name=".ChatOneActivity"
android:parentActivityName=".ChatActivity"
... />
对于
<activity android:name=".ChatOneActivity">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value=".ChatActivity" />
在ChatOneActive活动上试试这个。
@Override
public void onBackPressed() {
super.onBackPressed();
Intent intent = new Intent(getApplicationContext(),ChatActivity.Class);
startActivity(intent);
}
我已经实现了Android推送通知,我可以在应用程序运行时使用此方法扩展来处理它: 但我真正需要的是在我当前的活动中获取通知数据,以更新一些字段,以便用户实时查看。但我找不到一个方法来做到这一点。有人能帮帮我吗?
问题内容: 我们都知道您由于以下原因而无法执行以下操作: 但这显然有时有效,但并非总是如此。这是一些特定的代码: 当然,这导致: 即使没有多个线程。无论如何。 解决此问题的最佳方法是什么?如何在不引发此异常的情况下循环地从集合中删除项目? 我还在这里使用任意值,不一定是an t,因此您不能依赖。 问题答案: 是安全的,您可以这样使用它: 注意,这是在迭代过程中修改集合的唯一安全方法。如果在进行迭代
MainActivity在我的应用程序中打开。考虑这个场景, MainActivity(%1)当前正在运行时。通知来了,用户点击并打开Mainactivity(2)。它起作用了。当我点击后退按钮时。Mainactivity(2)被销毁。MainActivity(1)显示给用户,应用程序冻结。我正在寻找关闭MainActivity(1)的方法。
错误:------崩溃开始 08-04 05:53:11.807 266 7-2667/com.example.kwei.minigame1 E/AndroidRuntime:致命异常:main process:com.example.kwei.minigame1,PID:2667 java.lang.nullpointerException:试图在com.example.kwei.minigam
我已经尝试了所有的方法,但它不适合我。我想打开或恢复应用程序,无论屏幕打开,同时单击通知。 我使用了以下方法:
我正在编写一个使用fire base来实现通知的应用程序。在我的Mainactive中,我有一个带有一些url的WebView,但问题是当用户单击通知时,我想在WebView中使用不同的url打开MainActiviy。我读了很多,我在意图中添加了一个捆绑包(在单击通知时打开Mainactive),它会生成所需的url。但是当我单击通知时,Mainactive会重新启动,我的意思是,它不会转到on