作者 AnstJJ

update

@@ -3,6 +3,7 @@ package com.customIcon; @@ -3,6 +3,7 @@ package com.customIcon;
3 import android.app.Activity; 3 import android.app.Activity;
4 import android.content.ComponentName; 4 import android.content.ComponentName;
5 import android.content.pm.PackageManager; 5 import android.content.pm.PackageManager;
  6 +import android.util.Log;
6 7
7 import com.facebook.react.bridge.Callback; 8 import com.facebook.react.bridge.Callback;
8 import com.facebook.react.bridge.ReactApplicationContext; 9 import com.facebook.react.bridge.ReactApplicationContext;
@@ -28,13 +29,28 @@ public class CustomIconModule extends ReactContextBaseJavaModule { @@ -28,13 +29,28 @@ public class CustomIconModule extends ReactContextBaseJavaModule {
28 PackageManager packageManager = this.reactContext.getPackageManager(); 29 PackageManager packageManager = this.reactContext.getPackageManager();
29 Activity activity = getActivity(); 30 Activity activity = getActivity();
30 ComponentName am =activity.getComponentName(); 31 ComponentName am =activity.getComponentName();
31 - // if(am.getShortClassName()==""){  
32 -  
33 - // }  
34 - packageManager.setComponentEnabledSetting(am, PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager  
35 - .DONT_KILL_APP);  
36 - packageManager.setComponentEnabledSetting(new ComponentName(this.reactContext,pageName +  
37 - "."+name), PackageManager.COMPONENT_ENABLED_STATE_ENABLED, 0); 32 +// Log.i("nows",am.getClassName());
  33 +// Log.i("nows",am.getPackageName());
  34 + // Log.i("nows",pageName+am.getShortClassName());
  35 + // Log.i("nows",pageName+"."+name);
  36 + if(am.getShortClassName().equals("."+name)){
  37 + Log.i("nows","即那里了哥");
  38 + }else{
  39 + packageManager.setComponentEnabledSetting(am, PackageManager.COMPONENT_ENABLED_STATE_DISABLED,0);
  40 + packageManager.setComponentEnabledSetting(new ComponentName(this.reactContext,pageName +
  41 + "."+name), PackageManager.COMPONENT_ENABLED_STATE_ENABLED, 0);
  42 +
  43 + }
  44 +
  45 +
  46 + }
  47 + @ReactMethod
  48 + public void getIconName(Callback callback) {
  49 + // String pageName = this.reactContext.getPackageName();
  50 + // PackageManager packageManager = this.reactContext.getPackageManager();
  51 + Activity activity = getActivity();
  52 + ComponentName am =activity.getComponentName();
  53 + callback.invoke(am.getShortClassName());//调用回调函数,返回结果
38 } 54 }
39 public Activity getActivity() { 55 public Activity getActivity() {
40 return this.getCurrentActivity(); 56 return this.getCurrentActivity();
  1 +package com.customIcon;
  2 +
  3 +import com.facebook.react.ReactPackage;
  4 +import com.facebook.react.bridge.NativeModule;
  5 +import com.facebook.react.bridge.ReactApplicationContext;
  6 +import com.facebook.react.uimanager.ViewManager;
  7 +
  8 +import java.util.Arrays;
  9 +import java.util.Collections;
  10 +import java.util.List;
  11 +
  12 +public class CustomIconPackage implements ReactPackage {
  13 + @Override
  14 + public List<NativeModule> createNativeModules(ReactApplicationContext reactContext) {
  15 + return Arrays.<NativeModule>asList(new CustomIconModule(reactContext));
  16 + }
  17 +
  18 + @Override
  19 + public List<ViewManager> createViewManagers(ReactApplicationContext reactContext) {
  20 + return Collections.emptyList();
  21 + }
  22 +}