@norcy/react-native-toolkit 0.1.144 → 0.1.145
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,39 @@
|
|
1
|
+
package com.norcy.reactnativetoolkit;
|
2
|
+
|
3
|
+
import com.facebook.react.ReactActivity;
|
4
|
+
import android.content.Intent;
|
5
|
+
import android.net.Uri;
|
6
|
+
import android.os.Bundle;
|
7
|
+
import android.view.WindowManager;
|
8
|
+
import android.content.res.Configuration;
|
9
|
+
|
10
|
+
public abstract class BaseToolkitActivity extends ReactActivity {
|
11
|
+
@Override
|
12
|
+
protected void onCreate(Bundle savedInstanceState) {
|
13
|
+
// 处理 DEBUG 模式下的屏幕常亮
|
14
|
+
if (getReactNativeHost().getUseDeveloperSupport()) {
|
15
|
+
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
|
16
|
+
}
|
17
|
+
super.onCreate(savedInstanceState);
|
18
|
+
|
19
|
+
// 处理 App Links
|
20
|
+
handleAppLinks();
|
21
|
+
}
|
22
|
+
|
23
|
+
@Override
|
24
|
+
public void onConfigurationChanged(Configuration newConfig) {
|
25
|
+
super.onConfigurationChanged(newConfig);
|
26
|
+
getReactInstanceManager().onConfigurationChanged(this, newConfig);
|
27
|
+
}
|
28
|
+
|
29
|
+
private void handleAppLinks() {
|
30
|
+
Intent appLinkIntent = getIntent();
|
31
|
+
String appLinkAction = appLinkIntent.getAction();
|
32
|
+
Uri appLinkData = appLinkIntent.getData();
|
33
|
+
// 子类可以通过 getAppLinkData() 获取这些数据
|
34
|
+
}
|
35
|
+
|
36
|
+
protected Uri getAppLinkData() {
|
37
|
+
return getIntent().getData();
|
38
|
+
}
|
39
|
+
}
|
@@ -0,0 +1,59 @@
|
|
1
|
+
package com.norcy.reactnativetoolkit;
|
2
|
+
|
3
|
+
import android.app.Application;
|
4
|
+
import android.content.Context;
|
5
|
+
|
6
|
+
import com.facebook.react.PackageList;
|
7
|
+
import com.facebook.react.ReactApplication;
|
8
|
+
import com.facebook.react.ReactNativeHost;
|
9
|
+
import com.facebook.react.ReactPackage;
|
10
|
+
import com.facebook.soloader.SoLoader;
|
11
|
+
import cn.reactnative.modules.update.UpdateContext;
|
12
|
+
|
13
|
+
import java.util.List;
|
14
|
+
|
15
|
+
public abstract class BaseToolkitApplication extends Application implements ReactApplication {
|
16
|
+
private final ReactNativeHost mReactNativeHost;
|
17
|
+
|
18
|
+
public BaseToolkitApplication() {
|
19
|
+
mReactNativeHost = createReactNativeHost();
|
20
|
+
}
|
21
|
+
|
22
|
+
// 让子类可以完全控制要使用哪些包
|
23
|
+
protected abstract List<ReactPackage> getPackages();
|
24
|
+
|
25
|
+
protected ReactNativeHost createReactNativeHost() {
|
26
|
+
return new ReactNativeHost(this) {
|
27
|
+
@Override
|
28
|
+
public boolean getUseDeveloperSupport() {
|
29
|
+
return BuildConfig.DEBUG;
|
30
|
+
}
|
31
|
+
|
32
|
+
@Override
|
33
|
+
protected List<ReactPackage> getPackages() {
|
34
|
+
return BaseToolkitApplication.this.getPackages();
|
35
|
+
}
|
36
|
+
|
37
|
+
@Override
|
38
|
+
protected String getJSBundleFile() {
|
39
|
+
return UpdateContext.getBundleUrl(BaseToolkitApplication.this);
|
40
|
+
}
|
41
|
+
|
42
|
+
@Override
|
43
|
+
protected String getJSMainModuleName() {
|
44
|
+
return "index"
|
45
|
+
}
|
46
|
+
};
|
47
|
+
}
|
48
|
+
|
49
|
+
@Override
|
50
|
+
public ReactNativeHost getReactNativeHost() {
|
51
|
+
return mReactNativeHost;
|
52
|
+
}
|
53
|
+
|
54
|
+
@Override
|
55
|
+
public void onCreate() {
|
56
|
+
super.onCreate();
|
57
|
+
SoLoader.init(this, false);
|
58
|
+
}
|
59
|
+
}
|