SplashActivity.java
5.34 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
package cn.vlion.simple;
import android.content.Intent;
import android.os.Build;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.view.View;
import android.view.ViewGroup;
import android.widget.RelativeLayout;
import cn.vlion.ad.core.Config;
import cn.vlion.ad.moudle.splash.SplashManager;
import cn.vlion.ad.moudle.splash.SplashViewListener;
import cn.vlion.simple.util.PermissionHelper;
import cn.vlion.simple.util.ScreenUtil;
/**
* Created by gujun on 2017/10/11.
*/
public class SplashActivity extends AppCompatActivity {
private static final String TAG = "SplashActivity";
private PermissionHelper mPermissionHelper;
private View defaultLayout, adLayout;
private RelativeLayout splashAdContainer;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_splash);
defaultLayout = findViewById(R.id.defaultLayout);
adLayout = findViewById(R.id.adLayout);
splashAdContainer = (RelativeLayout) findViewById(R.id.splashAdContainer);
// 当系统为6.0以上时,需要申请权限
mPermissionHelper = new PermissionHelper(this);
mPermissionHelper.setOnApplyPermissionListener(new PermissionHelper.OnApplyPermissionListener() {
@Override
public void onAfterApplyAllPermission() {
Log.i(TAG, "All of requested permissions has been granted, so run app logic.");
startApp();
}
});
if (Build.VERSION.SDK_INT < 23) {
// 如果系统版本低于23,直接跑应用的逻辑
Log.d(TAG, "The api level of system is lower than 23, so run app logic directly.");
startApp();
} else {
// 如果权限全部申请了,那就直接跑应用逻辑
if (mPermissionHelper.isAllRequestedPermissionGranted()) {
Log.d(TAG, "All of requested permissions has been granted, so run app logic directly.");
startApp();
} else {
// 如果还有权限为申请,而且系统版本大于23,执行申请权限逻辑
Log.i(TAG, "Some of requested permissions hasn't been granted, so apply permissions first.");
mPermissionHelper.applyPermissions();
}
}
}
private void startApp() {
defaultLayout.setVisibility(View.VISIBLE);
adLayout.setVisibility(View.GONE);
SplashManager.getInstance().setTargetClass(MainActivity.class);
SplashManager.getInstance().setAutoJumpToTargetWhenShowFailed(true);
SplashManager.getInstance().setSplashViewContainer(splashAdContainer);
SplashManager.getInstance().setAdScalingModel(Config.AD_SCALING_MODE_SCALE_TO_FIT);
//432 h5
//433 image
SplashManager.getInstance().showSplash(this, "432", new SplashViewListener() {
@Override
public void onRequestSuccess(String id,int viewWidth, int viewHeight) {
Log.e(TAG, "onRequestSuccess: " + viewWidth + "," + viewHeight);
splashAdContainer.getLayoutParams().width = ViewGroup.LayoutParams.MATCH_PARENT;
splashAdContainer.getLayoutParams().height = ScreenUtil.getScreenWidth(SplashActivity.this) * viewHeight / viewWidth;
}
@Override
public void onRequestFailed(String id,int code, String errorMsg) {
Log.e(TAG, "onRequestFailed: " + code + "," + errorMsg);
}
@Override
public void onShowSuccess(String id) {
Log.e(TAG, "onShowSuccess: ");
defaultLayout.setVisibility(View.GONE);
adLayout.setVisibility(View.VISIBLE);
}
@Override
public void onShowFailed(String id,int code, String msg) {
Log.e(TAG, "onShowFailed: " + code + "," + msg);
}
@Override
public void onSplashClicked(String id) {
Log.e(TAG, "onSplashClicked: ");
}
@Override
public void onSplashClosed(String id) {
Log.e(TAG, "onSplashClosed: ");
}
@Override
public void onSwitchSplash(String id) {
Log.e(TAG, "onSwitchSplash: ");
}
});
}
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
mPermissionHelper.onRequestPermissionsResult(requestCode, permissions, grantResults);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
mPermissionHelper.onActivityResult(requestCode, resultCode, data);
}
@Override
protected void onResume() {
super.onResume();
SplashManager.getInstance().onResume();
}
@Override
protected void onPause() {
super.onPause();
SplashManager.getInstance().onPause();
}
@Override
protected void onDestroy() {
super.onDestroy();
SplashManager.getInstance().onDestroy();
}
}