Skip to content
Toggle navigation
Projects
Groups
Snippets
Help
polysoft-nafmii
/
polysoft-android
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Settings
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit dd9518c5
authored
Oct 21, 2021
by
amateur
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
1
1 parent
630d3be3
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
140 additions
and
50 deletions
app/src/main/AndroidManifest.xml
app/src/main/java/com/polysoft/nafmii/fragment/AdvertisementFragment.java
app/src/main/java/com/polysoft/nafmii/webview/MyWebChromeClient.java
app/src/main/java/com/polysoft/nafmii/webview/X5WebviewUtils.java
app/src/main/java/com/whaty/nafmii/activity/VideoActivity.java
app/src/main/AndroidManifest.xml
View file @
dd9518c
...
@@ -19,7 +19,7 @@
...
@@ -19,7 +19,7 @@
<uses-permission
android:name=
"android.permission.GET_TASKS"
/>
<uses-permission
android:name=
"android.permission.GET_TASKS"
/>
<application
<application
android:name=
"
com.whaty.nafmii
.MyApplication"
android:name=
".MyApplication"
android:allowBackup=
"true"
android:allowBackup=
"true"
android:icon=
"@mipmap/app_logo"
android:icon=
"@mipmap/app_logo"
android:label=
"@string/app_name"
android:label=
"@string/app_name"
...
@@ -29,7 +29,7 @@
...
@@ -29,7 +29,7 @@
android:supportsRtl=
"true"
android:supportsRtl=
"true"
android:theme=
"@style/Nafmii.Fullscreen"
android:theme=
"@style/Nafmii.Fullscreen"
android:usesCleartextTraffic=
"true"
>
android:usesCleartextTraffic=
"true"
>
<activity
android:name=
"
com.whaty.nafmii.activity.JPushTestActivity"
></activity
>
<activity
android:name=
"
.activity.JPushTestActivity"
/
>
<meta-data
<meta-data
android:name=
"design_width_in_dp"
android:name=
"design_width_in_dp"
...
@@ -39,7 +39,7 @@
...
@@ -39,7 +39,7 @@
android:value=
"750"
/>
android:value=
"750"
/>
<activity
<activity
android:name=
"
com.whaty.nafmii
.activity.MainActivity"
android:name=
".activity.MainActivity"
android:configChanges=
"orientation|screenSize|keyboardHidden"
android:configChanges=
"orientation|screenSize|keyboardHidden"
android:screenOrientation=
"portrait"
android:screenOrientation=
"portrait"
android:theme=
"@style/Nafmii.Fullscreen.NoTitleBar.Main"
>
android:theme=
"@style/Nafmii.Fullscreen.NoTitleBar.Main"
>
...
@@ -60,28 +60,33 @@
...
@@ -60,28 +60,33 @@
android:scheme=
"nafmii"
/>
android:scheme=
"nafmii"
/>
</intent-filter>
</intent-filter>
</activity>
</activity>
<activity
android:name=
"
com.whaty.nafmii
.activity.BaseActivity"
/>
<activity
android:name=
".activity.BaseActivity"
/>
<activity
<activity
android:name=
"
com.whaty.nafmii
.activity.WebviewActivity"
android:name=
".activity.WebviewActivity"
android:configChanges=
"orientation|screenSize|keyboardHidden"
/>
android:configChanges=
"orientation|screenSize|keyboardHidden"
/>
<activity
<activity
android:name=
"
com.whaty.nafmii
.activity.HomeActivity"
android:name=
".activity.HomeActivity"
android:configChanges=
"orientation|screenSize|keyboardHidden"
android:configChanges=
"orientation|screenSize|keyboardHidden"
android:screenOrientation=
"portrait"
android:screenOrientation=
"portrait"
android:theme=
"@style/Nafmii.Fullscreen.NoTitleBar"
android:theme=
"@style/Nafmii.Fullscreen.NoTitleBar"
android:windowSoftInputMode=
"stateAlwaysHidden|adjustResize"
/>
android:windowSoftInputMode=
"stateAlwaysHidden|adjustResize"
/>
<activity
<activity
android:name=
"
com.whaty.nafmii
.activity.OutsideWebviewActivity"
android:name=
".activity.OutsideWebviewActivity"
android:configChanges=
"orientation|screenSize|keyboardHidden"
android:configChanges=
"orientation|screenSize|keyboardHidden"
android:screenOrientation=
"portrait"
android:screenOrientation=
"portrait"
android:theme=
"@style/Nafmii.Fullscreen.NoTitleBar"
android:theme=
"@style/Nafmii.Fullscreen.NoTitleBar"
android:windowSoftInputMode=
"stateAlwaysHidden|adjustResize"
/>
android:windowSoftInputMode=
"stateAlwaysHidden|adjustResize"
/>
<activity
android:name=
"com.whaty.nafmii.activity.InputUrlActivity"
/>
<activity
<activity
android:name=
"com.whaty.nafmii.activity.TestHomeActivity"
android:name=
".activity.VideoActivity"
android:configChanges=
"orientation|screenSize|keyboardHidden"
android:screenOrientation=
"portrait"
android:theme=
"@style/Nafmii.Fullscreen.NoTitleBar"
android:windowSoftInputMode=
"stateAlwaysHidden|adjustResize"
/>
<activity
android:name=
".activity.InputUrlActivity"
/>
<activity
android:name=
".activity.TestHomeActivity"
android:theme=
"@style/Nafmii.Fullscreen.NoTitleBar"
/>
android:theme=
"@style/Nafmii.Fullscreen.NoTitleBar"
/>
<activity
android:name=
"com.whaty.nafmii.activity.AdvertisementWebviewActvity"
/>
<activity
android:name=
".activity.AdvertisementWebviewActvity"
/>
<!-- QQ 环境配置 -->
<!-- QQ 环境配置-->
<activity
<activity
android:name=
"com.tencent.tauth.AuthActivity"
android:name=
"com.tencent.tauth.AuthActivity"
android:launchMode=
"singleTask"
android:launchMode=
"singleTask"
...
@@ -100,48 +105,44 @@
...
@@ -100,48 +105,44 @@
android:name=
"com.tencent.connect.common.AssistActivity"
android:name=
"com.tencent.connect.common.AssistActivity"
android:configChanges=
"orientation|keyboardHidden"
android:configChanges=
"orientation|keyboardHidden"
android:screenOrientation=
"behind"
android:screenOrientation=
"behind"
android:theme=
"@android:style/Theme.Translucent.NoTitleBar"
/>
android:theme=
"@android:style/Theme.Translucent.NoTitleBar"
/>
<!-- 微信生产环境环境 -->
<!-- 微信生产环境环境-->
<activity
<activity
android:name=
"
com.whaty.nafmii
.wxapi.WXEntryActivity"
android:name=
".wxapi.WXEntryActivity"
android:exported=
"true"
android:exported=
"true"
android:launchMode=
"singleTask"
android:launchMode=
"singleTask"
android:taskAffinity=
"${applicationId}"
/>
android:taskAffinity=
"${applicationId}"
/>
<activity
<activity
android:name=
"
com.whaty.nafmii
.wxapi.WXPayEntryActivity"
android:name=
".wxapi.WXPayEntryActivity"
android:exported=
"true"
android:exported=
"true"
android:launchMode=
"singleTask"
android:launchMode=
"singleTask"
android:taskAffinity=
"${applicationId}"
/>
android:taskAffinity=
"${applicationId}"
/>
<!-- 微信开发环境 -->
<!-- 微信开发环境-->
<activity
<activity
android:name=
"
com.whaty.nafmii
.dev.wxapi.WXEntryActivity"
android:name=
".dev.wxapi.WXEntryActivity"
android:exported=
"true"
android:exported=
"true"
android:launchMode=
"singleTask"
android:launchMode=
"singleTask"
android:taskAffinity=
"${applicationId}"
/>
android:taskAffinity=
"${applicationId}"
/>
<activity
<activity
android:name=
"
com.whaty.nafmii
.dev.wxapi.WXPayEntryActivity"
android:name=
".dev.wxapi.WXPayEntryActivity"
android:exported=
"true"
android:exported=
"true"
android:launchMode=
"singleTask"
android:launchMode=
"singleTask"
android:taskAffinity=
"${applicationId}"
/>
android:taskAffinity=
"${applicationId}"
/>
<!-- 微信UAT环境 -->
<!-- 微信UAT环境-->
<activity
<activity
android:name=
"
com.whaty.nafmii
.uat.wxapi.WXEntryActivity"
android:name=
".uat.wxapi.WXEntryActivity"
android:exported=
"true"
android:exported=
"true"
android:launchMode=
"singleTask"
android:launchMode=
"singleTask"
android:taskAffinity=
"${applicationId}"
/>
android:taskAffinity=
"${applicationId}"
/>
<activity
<activity
android:name=
"
com.whaty.nafmii
.uat.wxapi.WXPayEntryActivity"
android:name=
".uat.wxapi.WXPayEntryActivity"
android:exported=
"true"
android:exported=
"true"
android:launchMode=
"singleTask"
android:launchMode=
"singleTask"
android:taskAffinity=
"${applicationId}"
/>
android:taskAffinity=
"${applicationId}"
/>
<!-- 微信准生产环境 -->
<!-- 微信准生产环境-->
<activity
<activity
android:name=
"
com.whaty.nafmii
.qp.wxapi.WXEntryActivity"
android:name=
".qp.wxapi.WXEntryActivity"
android:exported=
"true"
android:exported=
"true"
android:launchMode=
"singleTask"
android:launchMode=
"singleTask"
android:taskAffinity=
"${applicationId}"
/>
android:taskAffinity=
"${applicationId}"
/>
<activity
<activity
android:name=
"
com.whaty.nafmii
.qp.wxapi.WXPayEntryActivity"
android:name=
".qp.wxapi.WXPayEntryActivity"
android:exported=
"true"
android:exported=
"true"
android:launchMode=
"singleTask"
android:launchMode=
"singleTask"
android:taskAffinity=
"${applicationId}"
/>
android:taskAffinity=
"${applicationId}"
/>
...
...
app/src/main/java/com/polysoft/nafmii/fragment/AdvertisementFragment.java
View file @
dd9518c
...
@@ -28,11 +28,8 @@ import com.polysoft.nafmii.enums.ModulesEnum;
...
@@ -28,11 +28,8 @@ import com.polysoft.nafmii.enums.ModulesEnum;
import
com.polysoft.nafmii.utils.IntentUtils
;
import
com.polysoft.nafmii.utils.IntentUtils
;
import
com.whaty.nafmii.BuildConfig
;
import
com.whaty.nafmii.BuildConfig
;
import
com.whaty.nafmii.R
;
import
com.whaty.nafmii.R
;
import
com.whaty.nafmii.activity.HomeActivity
;
import
com.whaty.nafmii.activity.IActivityEvent
;
import
com.whaty.nafmii.activity.IActivityEvent
;
import
com.whaty.nafmii.activity.OutsideWebviewActivity
;
import
java.io.UnsupportedEncodingException
;
import
java.net.URLEncoder
;
import
java.net.URLEncoder
;
import
java.util.HashMap
;
import
java.util.HashMap
;
import
java.util.Map
;
import
java.util.Map
;
...
...
app/src/main/java/com/polysoft/nafmii/webview/MyWebChromeClient.java
View file @
dd9518c
...
@@ -9,6 +9,7 @@ import android.text.TextUtils;
...
@@ -9,6 +9,7 @@ import android.text.TextUtils;
import
android.view.MotionEvent
;
import
android.view.MotionEvent
;
import
android.view.View
;
import
android.view.View
;
import
android.view.ViewGroup
;
import
android.view.ViewGroup
;
import
android.view.Window
;
import
android.view.WindowManager
;
import
android.view.WindowManager
;
import
android.widget.FrameLayout
;
import
android.widget.FrameLayout
;
...
@@ -51,21 +52,27 @@ public class MyWebChromeClient extends WebChromeClient {
...
@@ -51,21 +52,27 @@ public class MyWebChromeClient extends WebChromeClient {
@Override
@Override
public
void
onShowCustomView
(
View
view
,
IX5WebChromeClient
.
CustomViewCallback
customViewCallback
)
{
public
void
onShowCustomView
(
View
view
,
IX5WebChromeClient
.
CustomViewCallback
customViewCallback
)
{
if
(
null
!=
webView
.
getX5WebViewExtension
())
{
super
.
onShowCustomView
(
view
,
customViewCallback
);
}
else
{
if
(
this
.
activity
.
getRequestedOrientation
()
!=
ActivityInfo
.
SCREEN_ORIENTATION_LANDSCAPE
)
{
if
(
this
.
activity
.
getRequestedOrientation
()
!=
ActivityInfo
.
SCREEN_ORIENTATION_LANDSCAPE
)
{
this
.
activity
.
setRequestedOrientation
(
ActivityInfo
.
SCREEN_ORIENTATION_LANDSCAPE
);
this
.
activity
.
setRequestedOrientation
(
ActivityInfo
.
SCREEN_ORIENTATION_LANDSCAPE
);
}
}
// super.onShowCustomView(view, customViewCallback);
showCustomView
(
view
,
customViewCallback
);
showCustomView
(
view
,
customViewCallback
);
}
}
}
@Override
@Override
public
void
onHideCustomView
()
{
public
void
onHideCustomView
()
{
if
(
null
!=
webView
.
getX5WebViewExtension
())
{
super
.
onHideCustomView
();
}
else
{
if
(
this
.
activity
.
getRequestedOrientation
()
!=
ActivityInfo
.
SCREEN_ORIENTATION_PORTRAIT
)
{
if
(
this
.
activity
.
getRequestedOrientation
()
!=
ActivityInfo
.
SCREEN_ORIENTATION_PORTRAIT
)
{
this
.
activity
.
setRequestedOrientation
(
ActivityInfo
.
SCREEN_ORIENTATION_PORTRAIT
);
this
.
activity
.
setRequestedOrientation
(
ActivityInfo
.
SCREEN_ORIENTATION_PORTRAIT
);
}
}
// super.onHideCustomView();
hideCustomView
();
hideCustomView
();
}
}
}
/**
/**
...
@@ -80,7 +87,9 @@ public class MyWebChromeClient extends WebChromeClient {
...
@@ -80,7 +87,9 @@ public class MyWebChromeClient extends WebChromeClient {
View
decorView
=
this
.
activity
.
getWindow
().
getDecorView
();
View
decorView
=
this
.
activity
.
getWindow
().
getDecorView
();
this
.
systemVisbility
=
decorView
.
getSystemUiVisibility
();
this
.
systemVisbility
=
decorView
.
getSystemUiVisibility
();
decorView
.
setSystemUiVisibility
(
View
.
SYSTEM_UI_FLAG_HIDE_NAVIGATION
|
View
.
SYSTEM_UI_FLAG_IMMERSIVE
);
decorView
.
setSystemUiVisibility
(
View
.
SYSTEM_UI_FLAG_HIDE_NAVIGATION
|
View
.
SYSTEM_UI_FLAG_LOW_PROFILE
|
View
.
SYSTEM_UI_FLAG_IMMERSIVE
);
if
(
decorView
instanceof
FrameLayout
)
{
if
(
decorView
instanceof
FrameLayout
)
{
FrameLayout
decor
=
(
FrameLayout
)
decorView
;
FrameLayout
decor
=
(
FrameLayout
)
decorView
;
fullscreenContainer
=
new
FullscreenHolder
(
this
.
activity
);
fullscreenContainer
=
new
FullscreenHolder
(
this
.
activity
);
...
@@ -91,21 +100,6 @@ public class MyWebChromeClient extends WebChromeClient {
...
@@ -91,21 +100,6 @@ public class MyWebChromeClient extends WebChromeClient {
customViewCallback
=
callback
;
customViewCallback
=
callback
;
webView
.
setVisibility
(
View
.
GONE
);
webView
.
setVisibility
(
View
.
GONE
);
}
}
// if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
// decorView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LOW_PROFILE
// | View.SYSTEM_UI_FLAG_FULLSCREEN
// | View.SYSTEM_UI_FLAG_LAYOUT_STABLE
// | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY
// | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
// | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);
// } else {
// decorView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LOW_PROFILE
// | View.SYSTEM_UI_FLAG_FULLSCREEN
// | View.SYSTEM_UI_FLAG_LAYOUT_STABLE
// | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
// | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);
// }
}
}
/**
/**
...
@@ -145,8 +139,14 @@ public class MyWebChromeClient extends WebChromeClient {
...
@@ -145,8 +139,14 @@ public class MyWebChromeClient extends WebChromeClient {
}
}
private
void
setStatusBarVisibility
(
boolean
visible
)
{
private
void
setStatusBarVisibility
(
boolean
visible
)
{
int
flag
=
visible
?
0
:
WindowManager
.
LayoutParams
.
FLAG_FULLSCREEN
;
Window
window
=
this
.
activity
.
getWindow
();
this
.
activity
.
getWindow
().
setFlags
(
flag
,
WindowManager
.
LayoutParams
.
FLAG_FULLSCREEN
);
if
(
visible
)
{
window
.
clearFlags
(
WindowManager
.
LayoutParams
.
FLAG_FULLSCREEN
);
window
.
addFlags
(
WindowManager
.
LayoutParams
.
FLAG_FORCE_NOT_FULLSCREEN
);
}
else
{
window
.
clearFlags
(
WindowManager
.
LayoutParams
.
FLAG_FORCE_NOT_FULLSCREEN
);
window
.
addFlags
(
WindowManager
.
LayoutParams
.
FLAG_FULLSCREEN
);
}
}
}
...
...
app/src/main/java/com/polysoft/nafmii/webview/X5WebviewUtils.java
View file @
dd9518c
...
@@ -3,6 +3,7 @@ package com.polysoft.nafmii.webview;
...
@@ -3,6 +3,7 @@ package com.polysoft.nafmii.webview;
import
android.annotation.SuppressLint
;
import
android.annotation.SuppressLint
;
import
android.content.Context
;
import
android.content.Context
;
import
android.os.Build
;
import
android.os.Build
;
import
android.os.Bundle
;
import
android.view.View
;
import
android.view.View
;
import
android.view.ViewGroup
;
import
android.view.ViewGroup
;
...
@@ -93,6 +94,12 @@ public class X5WebviewUtils {
...
@@ -93,6 +94,12 @@ public class X5WebviewUtils {
if
(
null
!=
x5Extension
)
{
if
(
null
!=
x5Extension
)
{
//竖直快速滑块,设置null可去除
//竖直快速滑块,设置null可去除
x5Extension
.
setVerticalTrackDrawable
(
null
);
x5Extension
.
setVerticalTrackDrawable
(
null
);
Bundle
data
=
new
Bundle
();
data
.
putBoolean
(
"standardFullScreen"
,
false
);
// true表示标准全屏,会调起onShowCustomView(),false表示X5全屏;不设置默认false,
data
.
putBoolean
(
"supportLiteWnd"
,
false
);
// false:关闭小窗;true:开启小窗;不设置默认true,
data
.
putInt
(
"DefaultVideoScreen"
,
1
);
// 1:以页面内开始播放,2:以全屏开始播放;不设置默认:1
x5Extension
.
invokeMiscMethod
(
"setVideoParams"
,
data
);
}
}
}
}
...
...
app/src/main/java/com/whaty/nafmii/activity/VideoActivity.java
0 → 100644
View file @
dd9518c
package
com
.
whaty
.
nafmii
.
activity
;
import
android.content.Intent
;
import
android.content.res.Configuration
;
import
android.os.Bundle
;
import
android.text.TextUtils
;
import
android.view.KeyEvent
;
import
android.view.View
;
import
android.view.WindowManager
;
import
android.widget.Button
;
import
android.widget.TextView
;
import
androidx.fragment.app.FragmentManager
;
import
androidx.fragment.app.FragmentTransaction
;
import
com.alibaba.fastjson.JSON
;
import
com.polysoft.nafmii.bean.OpenUrlBean
;
import
com.polysoft.nafmii.fragment.WebViewFragment
;
import
com.polysoft.nafmii.fragment.dialog.ShareSelectPopupDialog
;
import
com.polysoft.nafmii.utils.AndroidBug5497Workaround
;
import
com.polysoft.nafmii.utils.FileUtils
;
import
com.polysoft.nafmii.utils.StatusBarUtils
;
import
com.polysoft.nafmii.utils.ToastUtils
;
import
com.polysoft.nafmii.webview.IWebview
;
import
com.polysoft.nafmii.wechat.ShareBean
;
import
com.whaty.nafmii.R
;
import
java.net.URLDecoder
;
public
class
VideoActivity
extends
WebviewActivity
{
private
WebViewFragment
mFragment
;
@Override
protected
void
onCreate
(
Bundle
savedInstanceState
)
{
super
.
onCreate
(
savedInstanceState
);
super
.
setContentView
(
R
.
layout
.
activity_webview
);
this
.
initView
();
}
private
void
initView
()
{
this
.
initNavTitle
();
int
containerId
=
R
.
id
.
framelayout
;
FragmentManager
manager
=
getSupportFragmentManager
();
this
.
mFragment
=
WebViewFragment
.
newInstance
(
this
.
getUrl
());
FragmentTransaction
transaction
=
manager
.
beginTransaction
();
transaction
.
replace
(
containerId
,
this
.
mFragment
,
"video"
).
commitNow
();
}
private
void
initNavTitle
()
{
View
layout
=
super
.
findViewById
(
R
.
id
.
nav_layout
);
int
paddingTop
=
StatusBarUtils
.
getStatusBarHeightDP
(
this
);
layout
.
setPadding
(
0
,
paddingTop
,
0
,
0
);
super
.
findViewById
(
R
.
id
.
nav_layout
).
setVisibility
(
View
.
VISIBLE
);
TextView
title
=
super
.
findViewById
(
R
.
id
.
nav_title
);
title
.
setText
(
"视频播放测试"
);
super
.
findViewById
(
R
.
id
.
nav_back
).
setOnClickListener
((
v
)
->
{
});
}
private
void
backAction
()
{
if
(
null
==
this
.
mFragment
)
{
super
.
finish
();
return
;
}
IWebview
webview
=
this
.
mFragment
.
getWebview
();
if
(
null
!=
webview
&&
webview
.
canGoBack
())
{
return
;
}
this
.
close
();
}
private
void
close
()
{
super
.
finish
();
}
private
String
getUrl
()
{
return
"https://haokan.baidu.com/v?vid=11711434846142724102&tab=recommend"
;
}
}
Write
Preview
Markdown
is supported
Attach a file
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to post a comment