非UI線程中顯示Toast

一、在BroadcastReceiver中開啓了一個ReceivePushTask,然後想彈出一個toast,雖然不報錯,但是一直沒有效果,最後嘗試startactivity實現
<activity android:name=".TranslucentActivity"
            android:theme="@android:style/Theme.Translucent.NoTitleBar">
     <intent-filter>
                 <action android:name="com.android.mms.SHOW_TOAST" />
                 <category android:name="android.intent.category.DEFAULT" />   
            </intent-filter>  
 </activity>


 

Intent messageIntent = new Intent("com.android.mms.SHOW_TOAST");// 必須加
messageIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);//必須加,不能用setclass
messageIntent.putExtra("content",report);
mContext.startActivity(messageIntent);

 

package com.android.mms;

import android.app.Activity;
import android.os.Bundle;
import android.widget.Toast;
import com.android.mms.R;
public class TranslucentActivity extends Activity{
@Override
protected void onCreate(Bundle savedInstanceState) {
 // TODO Auto-generated method stub
 super.onCreate(savedInstanceState);
 String str = getIntent().getStringExtra("content");
 if(str == null) {
  str = "A toast content!";
 }
 Toast.makeText(getApplicationContext(), str, Toast.LENGTH_LONG).show();
 finish();
}
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章