我有一个接收器,在发送短信时被调用。 当发生这种情况时,我想表示祝酒。我知道从接收器显示吐司不是一个好习惯,但我想知道为什么我的代码不起作用
public class SmsSentReceiver extends BroadcastReceiver
{
@Override
public void onReceive(Context context, Intent intent)
{
if (getResultCode() == Activity.RESULT_OK)
Toast.makeText(context, R.string.sent, Toast.LENGTH_SHORT).show();
else
Toast.makeText(context, R.string.error_sending_sms, Toast.LENGTH_LONG).show();
context.unregisterReceiver(this);
}
}
接收器正确接收事件,但它没有显示任何祝酒词。 相反,如果我在调试模式下运行应用程序,其中一个toasts会正确显示。
提前谢谢。
答案 0 :(得分:2)
试试这个
new Handler(Looper.getMainLooper()).post(new Runnable()
{
@Override
public void run()
{
Toast.makeText(context, R.string.sent, Toast.LENGTH_SHORT).show();
}
});
答案 1 :(得分:0)
尝试以下
public class SmsSentReceiver extends BroadcastReceiver
{
@Override
public void onReceive(Context context, Intent intent)
{
if (getResultCode() == Activity.RESULT_OK)
Toast.makeText(getApplicationContext(), R.string.sent, Toast.LENGTH_SHORT).show();
else
Toast.makeText(getApplicationContext(), R.string.error_sending_sms, Toast.LENGTH_LONG).show();
context.unregisterReceiver(this);
}
}
希望这可以帮助你...
答案 2 :(得分:0)
试试这个:
Context c;
...
...
....
Toast.makeText(c,"Succesfully Written",Toast.LENGTH_SHORT).show();