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 70f3fe72
authored
Sep 29, 2021
by
amateur
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
1
1 parent
cc6db650
Show whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
160 additions
and
2 deletions
app/build.gradle
app/src/main/AndroidManifest.xml
app/src/main/java/com/polysoft/nafmii/utils/CtxUtils.java
app/src/main/java/com/polysoft/nafmii/webview/NativeApi.java
app/src/main/java/com/polysoft/nafmii/wechat/QQApi.java
app/src/main/java/com/polysoft/nafmii/wechat/WechatApi.java
app/src/main/java/com/whaty/nafmii/MyApplication.java
app/src/main/java/com/whaty/nafmii/activity/WebviewActivity.java
app/build.gradle
View file @
70f3fe7
...
@@ -19,6 +19,7 @@ android {
...
@@ -19,6 +19,7 @@ android {
buildConfigField
"String"
,
"API_HOST"
,
"\"http://10.10.81.189/nafmii/app/\""
buildConfigField
"String"
,
"API_HOST"
,
"\"http://10.10.81.189/nafmii/app/\""
buildConfigField
"String"
,
"IMG_API"
,
"\"http://10.10.81.172/group1/\""
buildConfigField
"String"
,
"IMG_API"
,
"\"http://10.10.81.172/group1/\""
buildConfigField
"String"
,
"WX_APPID"
,
"\"wx06a3b88ecb27f0d8\""
buildConfigField
"String"
,
"WX_APPID"
,
"\"wx06a3b88ecb27f0d8\""
buildConfigField
"String"
,
"QQ_APPID"
,
"\"101975384\""
buildConfigField
"String"
,
"ONLINE_URL"
,
"\"http://10.10.81.189/h5/\""
buildConfigField
"String"
,
"ONLINE_URL"
,
"\"http://10.10.81.189/h5/\""
buildConfigField
"String"
,
"MODULE_LEARN"
,
"\"http://ycjytest.cfae.cn/sites/bank/mb/index.html\""
buildConfigField
"String"
,
"MODULE_LEARN"
,
"\"http://ycjytest.cfae.cn/sites/bank/mb/index.html\""
buildConfigField
"boolean"
,
"SHOW_INPUT"
,
"true"
buildConfigField
"boolean"
,
"SHOW_INPUT"
,
"true"
...
@@ -97,6 +98,7 @@ android {
...
@@ -97,6 +98,7 @@ android {
resValue
"string"
,
"app_name"
,
"NAFMII之窗-uat"
resValue
"string"
,
"app_name"
,
"NAFMII之窗-uat"
applicationIdSuffix
"uat"
applicationIdSuffix
"uat"
buildConfigField
"String"
,
"WX_APPID"
,
"\"wxb9dd952e6522ef31\""
buildConfigField
"String"
,
"WX_APPID"
,
"\"wxb9dd952e6522ef31\""
buildConfigField
"String"
,
"QQ_APPID"
,
"\"101975384\""
buildConfigField
"String"
,
"API_HOST"
,
"\"https://nafmiiappuat.cfae.cn/nafmii/app/\""
buildConfigField
"String"
,
"API_HOST"
,
"\"https://nafmiiappuat.cfae.cn/nafmii/app/\""
buildConfigField
"String"
,
"IMG_API"
,
"\"https://nafmiiappuat.cfae.cn/file/\""
buildConfigField
"String"
,
"IMG_API"
,
"\"https://nafmiiappuat.cfae.cn/file/\""
buildConfigField
"String"
,
"ONLINE_URL"
,
"\"https://nafmiiappuat.cfae.cn/h5/\""
buildConfigField
"String"
,
"ONLINE_URL"
,
"\"https://nafmiiappuat.cfae.cn/h5/\""
...
@@ -114,6 +116,7 @@ android {
...
@@ -114,6 +116,7 @@ android {
resValue
"string"
,
"app_name"
,
"NAFMII之窗-dev"
resValue
"string"
,
"app_name"
,
"NAFMII之窗-dev"
applicationIdSuffix
"dev"
applicationIdSuffix
"dev"
buildConfigField
"String"
,
"WX_APPID"
,
"\"wx06a3b88ecb27f0d8\""
buildConfigField
"String"
,
"WX_APPID"
,
"\"wx06a3b88ecb27f0d8\""
buildConfigField
"String"
,
"QQ_APPID"
,
"\"101975384\""
buildConfigField
"String"
,
"API_HOST"
,
"\"http://10.10.81.189/nafmii/app/\""
buildConfigField
"String"
,
"API_HOST"
,
"\"http://10.10.81.189/nafmii/app/\""
buildConfigField
"String"
,
"IMG_API"
,
"\"http://10.10.81.172/group1/\""
buildConfigField
"String"
,
"IMG_API"
,
"\"http://10.10.81.172/group1/\""
buildConfigField
"String"
,
"ONLINE_URL"
,
"\"http://10.10.81.189/h5/\""
buildConfigField
"String"
,
"ONLINE_URL"
,
"\"http://10.10.81.189/h5/\""
...
...
app/src/main/AndroidManifest.xml
View file @
70f3fe7
...
@@ -71,7 +71,25 @@
...
@@ -71,7 +71,25 @@
android:name=
"com.whaty.nafmii.activity.TestHomeActivity"
android:name=
"com.whaty.nafmii.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=
"com.whaty.nafmii.activity.AdvertisementWebviewActvity"
/>
<!-- QQ 环境配置-->
<activity
android:name=
"com.tencent.tauth.AuthActivity"
android:launchMode=
"singleTask"
android:noHistory=
"true"
>
<intent-filter>
<action
android:name=
"android.intent.action.VIEW"
/>
<category
android:name=
"android.intent.category.DEFAULT"
/>
<category
android:name=
"android.intent.category.BROWSABLE"
/>
<data
android:scheme=
"tencent${applicationId}"
/>
</intent-filter>
</activity>
<activity
android:name=
"com.tencent.connect.common.AssistActivity"
android:configChanges=
"orientation|keyboardHidden"
android:screenOrientation=
"behind"
android:theme=
"@android:style/Theme.Translucent.NoTitleBar"
/>
<!-- 微信开发环境-->
<!-- 微信开发环境-->
<activity
<activity
android:name=
"com.whaty.nafmii.dev.wxapi.WXEntryActivity"
android:name=
"com.whaty.nafmii.dev.wxapi.WXEntryActivity"
...
...
app/src/main/java/com/polysoft/nafmii/utils/CtxUtils.java
View file @
70f3fe7
package
com
.
polysoft
.
nafmii
.
utils
;
package
com
.
polysoft
.
nafmii
.
utils
;
import
android.app.Application
;
import
android.app.Application
;
import
android.content.pm.ApplicationInfo
;
import
android.content.pm.PackageInfo
;
import
android.content.pm.PackageInfo
;
import
android.content.pm.PackageManager
;
import
android.content.pm.PackageManager
;
import
android.content.res.AssetManager
;
import
android.content.res.AssetManager
;
import
android.content.res.Resources
;
import
android.os.Environment
;
import
android.os.Environment
;
import
java.io.File
;
import
java.io.File
;
...
@@ -50,5 +52,18 @@ public class CtxUtils {
...
@@ -50,5 +52,18 @@ public class CtxUtils {
return
new
PackageInfo
();
return
new
PackageInfo
();
}
}
public
static
String
getAppName
()
{
ApplicationInfo
info
=
getPackageInfo
().
applicationInfo
;
if
(
null
!=
info
)
{
try
{
Resources
resources
=
getApplication
().
getResources
();
return
resources
.
getString
(
info
.
labelRes
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
}
return
""
;
}
}
}
app/src/main/java/com/polysoft/nafmii/webview/NativeApi.java
View file @
70f3fe7
...
@@ -30,8 +30,11 @@ import com.polysoft.nafmii.utils.FileUtils;
...
@@ -30,8 +30,11 @@ import com.polysoft.nafmii.utils.FileUtils;
import
com.polysoft.nafmii.utils.IntentUtils
;
import
com.polysoft.nafmii.utils.IntentUtils
;
import
com.polysoft.nafmii.utils.PermissionUtils
;
import
com.polysoft.nafmii.utils.PermissionUtils
;
import
com.polysoft.nafmii.utils.StatusBarUtils
;
import
com.polysoft.nafmii.utils.StatusBarUtils
;
import
com.polysoft.nafmii.wechat.QQApi
;
import
com.polysoft.nafmii.wechat.ShareBean
;
import
com.polysoft.nafmii.wechat.ShareBean
;
import
com.polysoft.nafmii.wechat.WechatApi
;
import
com.polysoft.nafmii.wechat.WechatApi
;
import
com.tencent.tauth.IUiListener
;
import
com.tencent.tauth.UiError
;
import
com.whaty.nafmii.activity.HomeActivity
;
import
com.whaty.nafmii.activity.HomeActivity
;
import
com.whaty.nafmii.activity.OutsideWebviewActivity
;
import
com.whaty.nafmii.activity.OutsideWebviewActivity
;
...
@@ -110,6 +113,13 @@ public class NativeApi {
...
@@ -110,6 +113,13 @@ public class NativeApi {
@JavascriptInterface
@JavascriptInterface
public
void
nativeShare
(
String
params
)
{
public
void
nativeShare
(
String
params
)
{
new
JsInterfaceHandler
(
handler
).
parse
(
params
,
(
data
,
js
)
->
{
new
JsInterfaceHandler
(
handler
).
parse
(
params
,
(
data
,
js
)
->
{
ShareBean
bean
=
TypeUtils
.
castToJavaBean
(
data
,
ShareBean
.
class
);
if
(
"2"
.
equals
(
bean
.
getScene
()))
{
// 分享到QQ
QQApi
instance
=
QQApi
.
getInstance
();
mActivity
.
runOnUiThread
(()
->{
instance
.
share
(
mActivity
,
bean
,
new
QQApi
.
JSShareCallback
(
js
));
});
}
else
{
WechatApi
instance
=
WechatApi
.
getInstance
(
mActivity
);
WechatApi
instance
=
WechatApi
.
getInstance
(
mActivity
);
if
(!
instance
.
isWXAppInstalled
())
{
if
(!
instance
.
isWXAppInstalled
())
{
js
.
callJs
(
Result
.
fail
(
"未安装应用"
));
js
.
callJs
(
Result
.
fail
(
"未安装应用"
));
...
@@ -121,6 +131,7 @@ public class NativeApi {
...
@@ -121,6 +131,7 @@ public class NativeApi {
});
});
mActivity
.
runOnUiThread
(()
->
instance
.
share
(
mActivity
,
TypeUtils
.
castToJavaBean
(
data
,
ShareBean
.
class
)));
mActivity
.
runOnUiThread
(()
->
instance
.
share
(
mActivity
,
TypeUtils
.
castToJavaBean
(
data
,
ShareBean
.
class
)));
}
});
});
}
}
...
...
app/src/main/java/com/polysoft/nafmii/wechat/QQApi.java
0 → 100644
View file @
70f3fe7
package
com
.
polysoft
.
nafmii
.
wechat
;
import
android.app.Activity
;
import
android.app.Application
;
import
android.graphics.Bitmap
;
import
android.os.Bundle
;
import
com.polysoft.nafmii.utils.CtxUtils
;
import
com.polysoft.nafmii.webview.JsInterfaceHandler
;
import
com.tencent.connect.share.QQShare
;
import
com.tencent.tauth.IUiListener
;
import
com.tencent.tauth.Tencent
;
import
com.tencent.tauth.UiError
;
import
com.whaty.nafmii.BuildConfig
;
import
com.whaty.nafmii.activity.MainActivity
;
public
class
QQApi
{
private
static
QQApi
INSTANCE
=
null
;
private
final
Tencent
mTencent
;
public
static
synchronized
QQApi
getInstance
()
{
if
(
null
==
INSTANCE
)
{
// Tencent类是SDK的主要实现类,开发者可通过Tencent类访问腾讯开放的OpenAPI。
// 其中APP_ID是分配给第三方应用的appid,类型为String。
// 其中Authorities为 Manifest文件中注册FileProvider时设置的authorities属性值
Application
app
=
CtxUtils
.
getApplication
();
String
Authorities
=
String
.
format
(
"%s.fileprovider"
,
app
.
getPackageName
());
Tencent
tencent
=
Tencent
.
createInstance
(
BuildConfig
.
QQ_APPID
,
app
,
Authorities
);
INSTANCE
=
new
QQApi
(
tencent
);
}
return
INSTANCE
;
}
private
QQApi
(
Tencent
tencent
)
{
this
.
mTencent
=
tencent
;
}
public
Tencent
getTencent
()
{
return
this
.
mTencent
;
}
public
void
share
(
Activity
activity
,
ShareBean
bean
,
IUiListener
listener
)
{
String
shareType
=
bean
.
getShareType
();
Bundle
params
=
null
;
if
(
"0"
.
equals
(
shareType
))
{
// 分享文字
}
else
if
(
"1"
.
equals
(
shareType
))
{
// 分享图片
}
else
if
(
"3"
.
equals
(
shareType
))
{
// 分享url地址
params
=
this
.
shareUrl
(
bean
);
}
if
(
null
!=
params
)
{
mTencent
.
shareToQQ
(
activity
,
params
,
listener
);
}
}
public
Bundle
shareUrl
(
ShareBean
bean
)
{
final
Bundle
params
=
new
Bundle
();
params
.
putInt
(
QQShare
.
SHARE_TO_QQ_KEY_TYPE
,
QQShare
.
SHARE_TO_QQ_TYPE_DEFAULT
);
params
.
putString
(
QQShare
.
SHARE_TO_QQ_TITLE
,
bean
.
getTitle
());
params
.
putString
(
QQShare
.
SHARE_TO_QQ_SUMMARY
,
bean
.
getContent
());
params
.
putString
(
QQShare
.
SHARE_TO_QQ_TARGET_URL
,
bean
.
getWebUrl
());
params
.
putString
(
QQShare
.
SHARE_TO_QQ_IMAGE_URL
,
bean
.
getWebImg
());
params
.
putString
(
QQShare
.
SHARE_TO_QQ_APP_NAME
,
CtxUtils
.
getAppName
());
// params.putInt(QQShare.SHARE_TO_QQ_EXT_INT, "其他附加功能");
return
params
;
}
public
static
class
JSShareCallback
implements
IUiListener
{
private
final
JsInterfaceHandler
.
JsInterface
jsInterface
;
public
JSShareCallback
(
JsInterfaceHandler
.
JsInterface
jsInterface
)
{
this
.
jsInterface
=
jsInterface
;
}
@Override
public
void
onComplete
(
Object
o
)
{
jsInterface
.
callJs
(
WechatResult
.
shareSuccess
());
}
@Override
public
void
onError
(
UiError
uiError
)
{
jsInterface
.
callJs
(
WechatResult
.
fail
(
"分享失败"
));
}
@Override
public
void
onCancel
()
{
jsInterface
.
callJs
(
WechatResult
.
cancel
());
}
@Override
public
void
onWarning
(
int
i
)
{
jsInterface
.
callJs
(
WechatResult
.
fail
(
"分享失败"
));
}
}
}
app/src/main/java/com/polysoft/nafmii/wechat/WechatApi.java
View file @
70f3fe7
...
@@ -72,6 +72,9 @@ public class WechatApi {
...
@@ -72,6 +72,9 @@ public class WechatApi {
}
}
public
void
share
(
Context
ctx
,
final
ShareBean
bean
)
{
public
void
share
(
Context
ctx
,
final
ShareBean
bean
)
{
if
(
"2"
.
equals
(
bean
.
getScene
()))
{
}
String
webImg
=
bean
.
getWebImg
();
String
webImg
=
bean
.
getWebImg
();
String
shareType
=
bean
.
getShareType
();
String
shareType
=
bean
.
getShareType
();
if
(
"0"
.
equals
(
shareType
))
{
// 分享文字
if
(
"0"
.
equals
(
shareType
))
{
// 分享文字
...
@@ -125,9 +128,10 @@ public class WechatApi {
...
@@ -125,9 +128,10 @@ public class WechatApi {
return
SendMessageToWX
.
Req
.
WXSceneTimeline
;
return
SendMessageToWX
.
Req
.
WXSceneTimeline
;
}
else
if
(
"1"
.
equals
(
scene
))
{
// 分享到好友
}
else
if
(
"1"
.
equals
(
scene
))
{
// 分享到好友
return
SendMessageToWX
.
Req
.
WXSceneSession
;
return
SendMessageToWX
.
Req
.
WXSceneSession
;
}
else
if
(
"2"
.
equals
(
scene
))
{
// 分享到收藏夹
return
SendMessageToWX
.
Req
.
WXSceneFavorite
;
}
}
// else if ("2".equals(scene)) { // 分享到收藏夹
// return SendMessageToWX.Req.WXSceneFavorite;
// }
// 默认分享到好友
// 默认分享到好友
return
SendMessageToWX
.
Req
.
WXSceneSession
;
return
SendMessageToWX
.
Req
.
WXSceneSession
;
}
}
...
...
app/src/main/java/com/whaty/nafmii/MyApplication.java
View file @
70f3fe7
...
@@ -5,6 +5,7 @@ import android.app.Application;
...
@@ -5,6 +5,7 @@ import android.app.Application;
import
com.polysoft.nafmii.utils.CtxUtils
;
import
com.polysoft.nafmii.utils.CtxUtils
;
import
com.polysoft.nafmii.utils.ExecutorUtils
;
import
com.polysoft.nafmii.utils.ExecutorUtils
;
import
com.polysoft.nafmii.utils.ZipUtils
;
import
com.polysoft.nafmii.utils.ZipUtils
;
import
com.tencent.tauth.Tencent
;
import
cn.jpush.android.api.JPushInterface
;
import
cn.jpush.android.api.JPushInterface
;
import
me.jessyan.autosize.AutoSizeConfig
;
import
me.jessyan.autosize.AutoSizeConfig
;
...
@@ -32,4 +33,6 @@ public class MyApplication extends Application {
...
@@ -32,4 +33,6 @@ public class MyApplication extends Application {
ZipUtils
.
unZipDistAssets
();
ZipUtils
.
unZipDistAssets
();
});
});
}
}
}
}
app/src/main/java/com/whaty/nafmii/activity/WebviewActivity.java
View file @
70f3fe7
package
com
.
whaty
.
nafmii
.
activity
;
package
com
.
whaty
.
nafmii
.
activity
;
import
android.content.Intent
;
import
android.os.Bundle
;
import
android.os.Bundle
;
import
androidx.annotation.Nullable
;
import
com.polysoft.nafmii.webview.X5Core
;
import
com.polysoft.nafmii.webview.X5Core
;
import
com.polysoft.nafmii.wechat.QQApi
;
public
abstract
class
WebviewActivity
extends
BaseActivity
{
public
abstract
class
WebviewActivity
extends
BaseActivity
{
...
@@ -13,4 +17,9 @@ public abstract class WebviewActivity extends BaseActivity{
...
@@ -13,4 +17,9 @@ public abstract class WebviewActivity extends BaseActivity{
});
});
}
}
@Override
protected
void
onActivityResult
(
int
requestCode
,
int
resultCode
,
@Nullable
Intent
data
)
{
super
.
onActivityResult
(
requestCode
,
resultCode
,
data
);
// QQApi.getTencent().onActivityResult(requestCode, resultCode, data);
}
}
}
\ No newline at end of file
\ No newline at end of file
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