如何将变量从Notificationmanager传递到android中的活动

里西·桑加尔(Rishi Sangal)

我打算在通知管理器中使用变量,因为第一次使用该意图成功,但是第二次当我使用新消息时,该活动显示出渗透值,请帮助我,这确实是一个大问题

  1. 这是通知管理器的代码
public class GCMIntentService extends GCMBaseIntentService {

    private static final String TAG = "GCMIntentService";

    public GCMIntentService() {
        super(SENDER_ID);
    }

    @Override
    protected void onRegistered(Context context, String registrationId) {

        Log.i(TAG, "Device registered: regId = " + registrationId);

        displayMessage(context, "Your device registred with GCM");

        Log.d("NAME", MainActivity.name);

        ServerUtilities.register(context, MainActivity.name, MainActivity.email, registrationId);
    }

    @Override
    protected void onUnregistered(Context context, String registrationId) {

        Log.i(TAG, "Device unregistered");

        displayMessage(context, getString(R.string.gcm_unregistered));

        ServerUtilities.unregister(context, registrationId);
    }

    @Override
    protected void onMessage(Context context, Intent intent) {

        Log.i(TAG, "Received message");

        String message = intent.getExtras().getString("price");

        displayMessage(context, message);

        // notifies user

        generateNotification(context, message);

    }

    @Override
    protected void onDeletedMessages(Context context, int total) {

        Log.i(TAG, "Received deleted messages notification");

        String message = getString(R.string.gcm_deleted, total);

        displayMessage(context, message);

        // notifies user

        generateNotification(context, message);

    }


    @Override
    public void onError(Context context, String errorId) {

        Log.i(TAG, "Received error: " + errorId);

        displayMessage(context, getString(R.string.gcm_error, errorId));

    }

    @Override
    protected boolean onRecoverableError(Context context, String errorId) {

        // log message

        Log.i(TAG, "Received recoverable error: " + errorId);

        displayMessage(context, getString(R.string.gcm_recoverable_error,
                errorId));

        return super.onRecoverableError(context, errorId);
    }


    private static void generateNotification(Context context, String message) {

        int icon = R.drawable.orange_logo;

        long when = System.currentTimeMillis();

        NotificationManager notificationManager = (NotificationManager)
                context.getSystemService(Context.NOTIFICATION_SERVICE);

        Notification notification = new Notification(icon, message, when);

        String title = context.getString(R.string.app_name);

        Intent notificationIntent = new Intent(context,receivemessage.class);

        // set intent so it does not start a new activity

        notificationIntent.putExtra("activate",message.toString());

        notificationIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | 
                Intent.FLAG_ACTIVITY_SINGLE_TOP);

        PendingIntent intent =
                PendingIntent.getActivity(context, 0, notificationIntent, 0);

        notification.setLatestEventInfo(context, title, message, contentIntent);

        notification.flags |= Notification.FLAG_AUTO_CANCEL;

        // Play default notification sound

        notification.defaults |= Notification.DEFAULT_SOUND;

        // Vibrate if vibrate is enabled

        notification.defaults |= Notification.DEFAULT_VIBRATE;

        notificationManager.notify(0, notification);     
    }
}
  1. 在接收消息类中
public class receivemessage extends Activity{

    TextView textshow;
    String saveit;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.message);

        textshow=(TextView)findViewById(R.id.showmessage);

        Intent i=getIntent();
        saveit = i.getStringExtra("run");
        textshow.setText(saveit.toString());
    }
}

提前致谢

比拉伊·扎拉瓦迪亚(Biraj Zalavadia)

替换此行

PendingIntent intent =
        PendingIntent.getActivity(context, 0, notificationIntent,0);

PendingIntent contentIntent = contentIntent = PendingIntent.getActivity(context,
                    (int) (Math.random() * 100), notificationIntent,
                    PendingIntent.FLAG_UPDATE_CURRENT);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将变量从活动传递到适配器

来自分类Dev

如何将值从类传递到活动-Android

来自分类Dev

如何将一个活动的变量值传递给 android 中的 baseactivity

来自分类Dev

如何将youtube视频URL传递到android Studios中的新活动?

来自分类Dev

如何将数组列表对象从活动传递到android中的片段

来自分类Dev

如何将整数传递给Android中的新活动?

来自分类Dev

如何将变量传递到Django Form中?

来自分类Dev

如何将JS循环变量传递到FireStore中

来自分类Dev

如何将awk输出传递到bash变量中?

来自分类Dev

如何将变量从OnCreate传递到OnListItemClick而不在android中全局声明?

来自分类Dev

如何将字符串从活动传递到 android 中选项卡式活动的片段

来自分类Dev

如何将值从活动传递到同一活动中的任何地方?

来自分类Dev

如何将意图从适配器类传递到其他活动,但是我的变量在其他活动中

来自分类Dev

如何将值/变量从android java类传递到android 4.4.2 kitkat中的javascript / .html文件

来自分类Dev

如何将数据从Android后台服务传递到活动

来自分类Dev

如何将所选数据传递到下一个活动Android

来自分类Dev

如何将数组从 java android 活动类传递到普通的 java 类?

来自分类Dev

我如何将HTTP响应从一个活动传递到android中的另一个活动

来自分类Dev

如何将活动变量传递给BottomNavigationView的片段?

来自分类Dev

如何将处理程序从活动传递到服务

来自分类Dev

如何将数据从服务高频传递到活动

来自分类Dev

如何将价值从活动传递到服务?

来自分类Dev

如何将值从活动传递到片段?

来自分类Dev

如何将任何对象从活动传递到服务?

来自分类Dev

如何将数据从ViewPagerAdapter传递到其他活动

来自分类Dev

如何将数据从片段传递到活动?

来自分类Dev

如何将多个数据从片段传递到活动

来自分类Dev

如何将JSON数据从ListView传递到新活动

来自分类Dev

如何将数据从活动传递到DialogFragment

Related 相关文章

  1. 1

    如何将变量从活动传递到适配器

  2. 2

    如何将值从类传递到活动-Android

  3. 3

    如何将一个活动的变量值传递给 android 中的 baseactivity

  4. 4

    如何将youtube视频URL传递到android Studios中的新活动?

  5. 5

    如何将数组列表对象从活动传递到android中的片段

  6. 6

    如何将整数传递给Android中的新活动?

  7. 7

    如何将变量传递到Django Form中?

  8. 8

    如何将JS循环变量传递到FireStore中

  9. 9

    如何将awk输出传递到bash变量中?

  10. 10

    如何将变量从OnCreate传递到OnListItemClick而不在android中全局声明?

  11. 11

    如何将字符串从活动传递到 android 中选项卡式活动的片段

  12. 12

    如何将值从活动传递到同一活动中的任何地方?

  13. 13

    如何将意图从适配器类传递到其他活动,但是我的变量在其他活动中

  14. 14

    如何将值/变量从android java类传递到android 4.4.2 kitkat中的javascript / .html文件

  15. 15

    如何将数据从Android后台服务传递到活动

  16. 16

    如何将所选数据传递到下一个活动Android

  17. 17

    如何将数组从 java android 活动类传递到普通的 java 类?

  18. 18

    我如何将HTTP响应从一个活动传递到android中的另一个活动

  19. 19

    如何将活动变量传递给BottomNavigationView的片段?

  20. 20

    如何将处理程序从活动传递到服务

  21. 21

    如何将数据从服务高频传递到活动

  22. 22

    如何将价值从活动传递到服务?

  23. 23

    如何将值从活动传递到片段?

  24. 24

    如何将任何对象从活动传递到服务?

  25. 25

    如何将数据从ViewPagerAdapter传递到其他活动

  26. 26

    如何将数据从片段传递到活动?

  27. 27

    如何将多个数据从片段传递到活动

  28. 28

    如何将JSON数据从ListView传递到新活动

  29. 29

    如何将数据从活动传递到DialogFragment

热门标签

归档