真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Android怎樣實現(xiàn)懸浮窗全系統(tǒng)版本-創(chuàng)新互聯(lián)

這篇文章主要介紹了Android怎樣實現(xiàn)懸浮窗全系統(tǒng)版本,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

佳木斯網(wǎng)站建設公司創(chuàng)新互聯(lián),佳木斯網(wǎng)站設計制作,有大型網(wǎng)站制作公司豐富經(jīng)驗。已為佳木斯1000+提供企業(yè)網(wǎng)站建設服務。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站制作要多少錢,請找那個售后服務好的佳木斯做網(wǎng)站的公司定做!

懸浮窗是在系統(tǒng)上顯示的內(nèi)容,好像微信視頻聊天時的小窗口一樣,在退出軟件后依然存在的一個窗口,本博客以窗口中放一個button組件為例,簡單展示懸浮窗,其中包括了對Android 6.0以下、Android 6.0到Android 8.0、Android 8.0以上版本的處理,下面開始介紹實現(xiàn)方法:

1、MainActivity中的代碼

public Button mFloatingButton;  @Override protected void onCreate(Bundle savedInstanceState) {  super.onCreate(savedInstanceState);  setContentView(R.layout.activity_main);   //初始化view  initView(); } //初始化view private void initView() {  mFloatingButton=(Button) findViewById(R.id.floating_btn);  mFloatingButton.setOnClickListener(this); }  public void startFloatingButtonService(View view) {  Log.e("測試流程", "測試流程");  if (FloatingService_Button.isStarted) {   Log.e("測試流程2", "測試流程2");   return;  }  if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {//判斷系統(tǒng)版本   if (!Settings.canDrawOverlays(this)) {    Toast.makeText(this, "當前無權限,請授權", Toast.LENGTH_SHORT);    Log.e("測試流程3", "測試流程3");    startActivityForResult(new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION, Uri.parse("package:" + getPackageName())), 0);   } else {    Log.e("測試流程4", "測試流程4");    startService(new Intent(MainActivity.this, FloatingService_Button.class));   }  } else {   startService(new Intent(MainActivity.this, FloatingService_Button.class));  }  }  @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) {  if (requestCode == 0) {   if (!Settings.canDrawOverlays(this)) {    Log.e("測試流程5", "測試流程5");    Toast.makeText(this, "授權失敗", Toast.LENGTH_SHORT).show();   } else {    Log.e("測試流程6", "測試流程6");    Toast.makeText(this, "授權成功", Toast.LENGTH_SHORT).show();    startService(new Intent(MainActivity.this, FloatingService_Button.class));   }  } }  @Override public void onClick(View v) {  switch (v.getId()){   case R.id.floating_btn :    startFloatingButtonService(v);    break;  } }

思路簡單解釋:點擊彈出懸浮窗按鈕時,獲取版本并判斷“Build.VERSION.SDK_INT >= Build.VERSION_CODES.M”如果系統(tǒng)版本在6.0以下這不需要請求權限,如果系統(tǒng)版本在6.0以上需要進行權限檢測以及請求,獲取權限后,彈出懸浮框

2、activity_main.xml代碼

 

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部