使用gradle
buildscript {
repositories {
jcenter()
}
}
allprojects {
repositories {
jcenter()
}
}
dependencies{
implementation ('com.openapplus:openapplus:1.0.3')
implementation 'com.eclipsesource.j2v8:j2v8:6.1.0@aar'
}
詳細添加位置請參考DEMO[https://github.com/linwaiwai/openapplus-demo/blob/master/Android/]
運行
在項目工程的自定義application中的onCreate方法中添加以下兩個方法: 注意:一定要在主進程進行該項操作
OpenApplus.registerApp(this, SampleContants.APPID, SampleContants.APP_SECRET);
OpenApplus.sync();
OpenApplus.setCallback(new OpenApplusCallback() {
@Override
public void invoke(OACallbackType type, JSONObject data, OpenApplusNotify notify) {
if (type == OACallbackType.OACallbackTypeAuthUser){
// 該接口僅供測試使用,請使用服務端發送給授權請求
OARequestWrapper requestWrapper = OpenApplus.makeRequestWrapper(SampleContants.SERVER_APPID, SampleContants.SERVER_APP_SECRET);
OAAuthDtoWrapper dto = new OAAuthDtoWrapper();
dto.setUid("1");
try {
dto.setCode(data.getString("code"));
} catch (JSONException e) {
e.printStackTrace();
}
String deviceID = Settings.Secure.getString(WXEnvironment.sApplication.getApplicationContext().getContentResolver(),
Settings.Secure.ANDROID_ID);
dto.setDeviceid(deviceID);
requestWrapper.sendObject(dto, notify);
}
}
});
注意:
參數1:上下文,必須的參數,不能爲空
參數2:OpenApplus app key,必須參數。
參數3:OpenApplus app secret,必須參數。
添加相關權限
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.CAMERA"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT"/>
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
<uses-permission android:name="android.permission.SYSTEM_OVERLAY_WINDOW"/>
<uses-permission android:name="android.permission.VIBRATE"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<uses-permission android:name="android.permission.READ_LOGS"/>
<!-- 這個權限用於進行網絡定位 -->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<!-- 這個權限用於訪問GPS定位 -->
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
<uses-permission android:name="android.permission.ACCESS_GPS"/>
<uses-feature android:name="android.hardware.camera"/>
<uses-feature android:name="android.hardware.camera.autofocus"/>
<uses-permission android:name="getui.permission.GetuiService.com.bmdoctor.jyt"/>
<!--amap額外權限-->
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS"/>
代碼混淆
如果您的應用使用了混淆, 請添加
-keep class com.openapplus.** {*;}
添加Activty入口
在AndroidManifest.xml中添加
<activity android:name="com.openapplus.activity.OATinyProgramActivity">
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="com.benmu.weex.example.categoty.page"/>
<data android:scheme="http"/>
<data android:scheme="https"/>
</intent-filter>
</activity>
啓動小程序容器
Intent intent = new Intent(SplashActivity.this, OATinyProgramActivity.class);
intent.putExtra("tiny","openapplus://jsApp/xxxxx");
startActivity(intent);
finish();