我无法在短信的ContentObserver中编写创建警报和祝酒词的代码。我无法获取ContentObserver的上下文。有人请帮帮我。提前谢谢。

 MyObserver yourObserver = new MyObserver(new Handler());

        ContentResolver contentResolver = this.getContentResolver();
        contentResolver.registerContentObserver(Uri.parse("content://sms"),true, yourObserver);

&
class YourObserver extends ContentObserver {

    //Context context = new ContentObserver()
    AlertDialog.Builder builder;
    AlertDialog alert;
    public YourObserver(Handler handler) {
        super(handler);
    }

    @Override
    public void onChange(boolean selfChange) {
        super.onChange(selfChange);
       Toast.makeText(???,"SENT..!!", Toast.LENGTH_LONG).show();
        System.out.println("Hey =++++++++++++++++++++++_______+++++++++++++++++++++++++++++");
        builder = new AlertDialog.Builder(???);
        builder.setMessage("Are you sure??");
        builder.setCancelable(false);
        builder.setPositiveButton("Yes",new DialogInterface.OnClickListener() {

            @Override
            public void onClick(DialogInterface dialog, int which) {
                Toast.makeText(???, "Okay",Toast.LENGTH_LONG).show();
            }
        });

        builder.setNegativeButton("No",new DialogInterface.OnClickListener() {

            @Override
            public void onClick(DialogInterface dialog, int which) {
                alert.cancel();
            }
        });
        alert = builder.create();
        alert.show();
    }
}

最佳答案

您可以将活动的上下文传递给ContentObserver类,

ContentResolver observer = this.getContentResolver();
        observer.registerContentObserver(SMS_URI, true,
                                   new MyObserver(new Handler(), this));

MyObserver类中使用上下文,
   Activity mActivity;
    public MyContentObserver(Handler handler, Activity mActivity) {
        super(handler);
        this.mActivity= mActivity;
    }

关于android - 我可以在contentObserver中创建Alert和Toast吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9937285/

10-10 02:26