离开应用程序时警报对话框没有出现,而吐司做android

时间:2012-06-24 10:17:41

标签: android bluetooth android-alertdialog

我正在使用蓝牙聊天示例应用程序中的代码。我想在用户离开应用程序时,他应该能够接收数据。所以,如果我这样做:

 case MESSAGE_READ:
                byte[] readBuf = (byte[]) msg.obj;
                // construct a string from the valid bytes in the buffer
                String readMessage = new String(readBuf, 0, msg.arg1);
                mConversationArrayAdapter.add(mConnectedDeviceName+":  " + readMessage);
                /***************************ADDED***************************/
                System.out.println("Number is"+(int)(readMessage.charAt(0)));

                /***************************ADDED***************************/
                break;

我确实在DDMS中看到了println语句。

如果我这样做:

 case MESSAGE_READ:
                byte[] readBuf = (byte[]) msg.obj;
                // construct a string from the valid bytes in the buffer
                String readMessage = new String(readBuf, 0, msg.arg1);
                mConversationArrayAdapter.add(mConnectedDeviceName+":  " + readMessage);
                /***************************ADDED***************************/
                System.out.println("Number is"+(int)(readMessage.charAt(0)));
               Toast.makeText(getApplicationContext(), "received!! "
                        + mConnectedDeviceName, Toast.LENGTH_SHORT).show();

                /***************************ADDED***************************/
                break;

即使我离开应用程序而且我在其他应用程序中,我确实看到了Toast消息。

最后我真正想要的是,无论我的应用程序在收到特定数据时是否未运行,打开一个警告对话框,如果我按是例如制作一些东西(我想发一个http请求,是的,并且不会转移到我的应用程序。)

这是我的代码:

 case MESSAGE_READ:
                byte[] readBuf = (byte[]) msg.obj;
                // construct a string from the valid bytes in the buffer
                String readMessage = new String(readBuf, 0, msg.arg1);
                mConversationArrayAdapter.add(mConnectedDeviceName+":  " + readMessage);
                /***************************ADDED***************************/

                new AlertDialog.Builder(getApplicationContext())
                .setTitle("Title")
                .setMessage("Message")
                .setPositiveButton("Yes",
                 new DialogInterface.OnClickListener() {
                     public void onClick(DialogInterface dialog, int which) {
                          //make http request
                }
             })
                .setNegativeButton("No",
                          new DialogInterface.OnClickListener() {
                             // @Override
                              public void onClick(DialogInterface dialog, int which) {
                                   //open my app
                               }

                          }).show();


                /***************************ADDED***************************/
                break;

在那种情况下,当我离开我的应用程序并接收数据时,我会收到一个力量。我认为argment getApplicationContext是错误的,但我不知道该使用什么。

Sollution:我使用了通知。

0 个答案:

没有答案