Popup window in any app
i want to Popup dialog at a specific time in any app my code :
public class testPOPDialog extends Activity {
/** Called when the activity is first created. */
private Handler mHandler = new Handler();
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mHandler.postDelayed(mUpdateTimeTask, 1000);
}
private Runnable mUpdateTimeTask = new Runnable() {
public void run() {
AlertDialog d = new AlertDialog.Builder(testPOPDialog.this)
.setTitle("tanchulai")
.setMessage("bucuo de tanchulai")
.create();
d.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);
d.show();
}
};
}
it give me
12-03 10:12:18.162: ERROR/AndroidRuntime(571): android.view.WindowManager$BadTokenException: Unable to add window android.view.ViewRoot$W@43dd71c0 -- permission denied for开发者_JS百科 this window type
what is this permission
if i delete d.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);
my app is correct.....
Add this permission to your manifest:
android.permission.SYSTEM_ALERT_WINDOW
First of all thanks to Mathias Lin
I am new to Android so it was hard to me to set permission knowing from Mathias Lin
's answer.
Because I didn't know how to set permission and where in the manifest file.
Finally I did it by help of Mathias Lin
's answer. So I made the answer elaborate.
In mainfest file use
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
after
<uses-sdk
android:minSdkVersion=...
android:targetSdkVersion=... />
as
<uses-sdk
android:minSdkVersion="7"
android:targetSdkVersion="16" />
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
Try this in your manifest file with the activity that you want to show as a pop-up. -->>
android:theme="@android:style/Theme.Dialog"
精彩评论