开发者

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"
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜