最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

淺析Android Service中實(shí)現(xiàn)彈出對話框的坑

 更新時間:2020年04月10日 08:37:34   作者:聽著music睡  
這篇文章主要介紹了Android Service中實(shí)現(xiàn)彈出對話框的坑,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下

一、手機(jī)版本問題,大多數(shù)文章沒有涉及這個點(diǎn),導(dǎo)致他們的代碼并無法正常使用

M版本以上需要使用的Type--> TYPE_APPLICATION_OVERLAY

AlertDialog.Builder builder=new AlertDialog.Builder(getApplicationContext()); 
builder.setTitle("提示"); 
builder.setMessage("service彈框"); 
builder.setNegativeButton("明白了",null); 
Dialog dialog=builder.create();

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M){//6.0       
  dialog.getWindow().setType(WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY);        
}else {       
  dialog.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);        
} 
dialog.show();

同時,因?yàn)樯婕安煌姹镜腁ndroid系統(tǒng)

AndroidManifest.xml 中聲明同時需要這兩個類型對應(yīng)的權(quán)限  

 <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
  <uses-permission android:name="android.permission.SYSTEM_OVERLAY_WINDOW" />

二、權(quán)限問題,service中彈出的對話框?yàn)橄到y(tǒng)彈框,在M版本以上需要申請懸浮窗權(quán)限

Android 6.0 以前懸浮窗是默認(rèn)允許的

注意Android 6.0以后的使用

因?yàn)閼腋〈皺?quán)限 SYSTEM_ALERT_WINDOW 屬于特殊權(quán)限 ,需要自己特別單獨(dú)申請

特殊權(quán)限,顧名思義,就是一些特別敏感的權(quán)限,在Android系統(tǒng)中,主要由兩個

SYSTEM_ALERT_WINDOW(設(shè)置懸浮窗,進(jìn)行一些黑科技)
WRITE_SETTINGS (修改系統(tǒng)設(shè)置)

關(guān)于上面兩個特殊權(quán)限的授權(quán),做法是使用startActivityForResult啟動授權(quán)界面來完成。

申請方式:

private static final int REQUEST_CODE = 1;
private void requestAlertWindowPermission() {
  Intent intent = new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION);
  intent.setData(Uri.parse("package:" + getPackageName()));
  startActivityForResult(intent, REQUEST_CODE);
}

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
  super.onActivityResult(requestCode, resultCode, data);
  if (requestCode == REQUEST_CODE) {
   if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
     if (Settings.canDrawOverlays(this)) {
        Log.i("xqxinfo", "onActivityResult granted");
     }
   } 
  } 
}

總結(jié)

到此這篇關(guān)于淺析Android Service中實(shí)現(xiàn)彈出對話框的坑的文章就介紹到這了,更多相關(guān)Service實(shí)現(xiàn)彈出對話框內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論

祁阳县| 清水县| 龙门县| 河津市| 姜堰市| 南江县| 唐山市| 宣武区| 济宁市| 康乐县| 通渭县| 阿尔山市| 达拉特旗| 临沂市| 巴东县| 绍兴市| 禄劝| 西丰县| 化隆| 荃湾区| 泰安市| 朔州市| 十堰市| 社会| 彭水| 元阳县| 卫辉市| 会宁县| 吉水县| 新晃| 百色市| 武义县| 定安县| 方正县| 宜春市| 南溪县| 尚义县| 苏尼特左旗| 虎林市| 南靖县| 冷水江市|