Android 通知意图标志

Android 通知意图标志,android,android-intent,Android,Android Intent,在我的应用程序中有两个活动,活动A中有一个按钮,活动B中有带通知内容和主选项菜单的音频播放器 启动活动A。单击按钮->启动活动B 在活动B中–使用通知启动播放器 单击设备后退按钮 活动B销毁并单击设备后退按钮 活动A销毁 单击通知->转到活动B 在活动B中,单击主选项菜单->开始活动A 单击按钮-不工作 有什么想法吗 Intent i = new Intent(getBaseContext(),ActivityB); i.putExtra("NotifID", NOTIFICATION_

在我的应用程序中有两个活动,活动A中有一个按钮,活动B中有带通知内容和主选项菜单的音频播放器

  • 启动活动A。单击按钮->启动活动B
  • 在活动B中–使用通知启动播放器
  • 单击设备后退按钮
  • 活动B销毁并单击设备后退按钮
  • 活动A销毁
  • 单击通知->转到活动B
  • 在活动B中,单击主选项菜单->开始活动A
  • 单击按钮-不工作
  • 有什么想法吗

    Intent i = new Intent(getBaseContext(),ActivityB);
        i.putExtra("NotifID", NOTIFICATION_ID);
        i.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);  
    
        pi = PendingIntent.getActivity(getBaseContext() , 0, i,PendingIntent.FLAG_UPDATE_CURRENT); 
        contentView = new RemoteViews(getPackageName(), R.layout.my_notification);
    
    
             bitmap = ((BitmapDrawable)drawable).getBitmap();
        contentView.setImageViewBitmap(R.id.imageNotify, bitmap); 
        contentView.setTextViewText(R.id.titleNotify, text);
        contentView.setTextViewText(R.id.textSong, singer);   
        mNotification.contentView = contentView;
        mNotification.contentIntent = pi;
        mNotification.tickerText = text;
        mNotification.icon = R.drawable.icon;
    
        mNotification.flags |= Notification.FLAG_ONGOING_EVENT;
        mNotificationManager.notify(NOTIFICATION_ID, mNotification);
    
    活动A,

                playButton = ((Button)findViewById(R.id.nowplaying));
                playButton.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
    Intent intent = new Intent(getBaseContext(),ActivityB.class);
    intent.putExtra("isFromList", false);
    startActivity(intent);  
            }
        });
    
          @Override
      public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {
        case R.id.home:
            Intent myIntent = new Intent(this, ActivityA.class);
            startActivity(myIntent); 
            break;
    
    在城市B,

                playButton = ((Button)findViewById(R.id.nowplaying));
                playButton.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
    Intent intent = new Intent(getBaseContext(),ActivityB.class);
    intent.putExtra("isFromList", false);
    startActivity(intent);  
            }
        });
    
          @Override
      public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {
        case R.id.home:
            Intent myIntent = new Intent(this, ActivityA.class);
            startActivity(myIntent); 
            break;
    
    以及上述通知

    清单

            <activity
            android:name="com.android.ActivityA"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:configChanges="orientation|keyboardHidden"
            android:label="@string/app_name"
            android:screenOrientation="portrait" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
              <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    
           <activity
            android:name="com.android.ActivityB"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:configChanges="orientation|keyboardHidden"
            android:screenOrientation="portrait" >
        </activity>
    

    我假设当用户从ActivityB选择“主菜单选项”启动ActivityA时,您希望返回ActivityA。在这种情况下,您需要在启动ActivityA后,在选项ItemSelected()中添加对
    finish()
    的调用


    我已要求您将清单条目发布到ActivityA和ActivityB,这可能会进一步说明问题。

    定义“不工作”。日志中有错误吗?当用户选择“主选项菜单”时,ActivityB如何启动ActivityA?否,logcat中没有错误。单击时,不启动活动B。我已在活动B中创建了选项菜单。请发布当用户在活动B中选择主选项菜单时执行的代码。更新我的帖子,请检查。同时发布清单中列出的activityA和activityBLooked的清单条目。我看不出为什么ActivityA不应该运行。您是否可以检查logcat(不是错误,而是指示活动是否已启动的所有消息),并发布相关的logcat条目。