标签: uni-app

  • uni-app使用H5+调用原生的安卓方法

    uni-app代码:

    //获取当前Activity,使用H5的方式调用android原生方法,从而启动activity
    var main = plus.android.runtimeMainActivity();
    //invoke: 调用对象(类对象/实例对象)的方法,调用Android原生方法        
    let result = plus.android.invoke('cn.com.sway.test.TestActivity', 'test', main);
    //弹窗显示返回结果
    uni.showToast({
    	title: "调用原生activity返回的结果为:\n" + result,
    	icon: 'none',
    	duration: 2000
    });

    安卓代码:

    package cn.com.sway.test;
    
    import android.app.Activity;
    import android.widget.Toast;
    
    import java.util.Random;
    
    public class TestActivity extends Activity {
    
        public static String test(Activity activity, String text){
            Toast.makeText(activity, "来自uni-app的消息:"+text, Toast.LENGTH_SHORT).show();
            return "来自android的消息:"+(new Random()).nextInt();
        }
    
    }

    注意,被调用的安卓方法必须为static静态方法,否则无法被调起。

  • uni-app离线android打包使用scheme

    hbuilder版本:3.1.12

    在AndroidManifest.xml中对io.dcloud.PandoraEntry添加scheme内容(注意不是io.dcloud.PandoraEntryActivity)

            <activity
                android:name="io.dcloud.PandoraEntry"
                android:configChanges="orientation|keyboardHidden|keyboard|navigation"
                android:label="@string/app_name"
                android:launchMode="singleTask"
                android:hardwareAccelerated="true"
                android:theme="@style/TranslucentTheme"
                android:screenOrientation="portrait"
                android:windowSoftInputMode="adjustResize" >
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />
                    <category android:name="android.intent.category.LAUNCHER" />
                </intent-filter>
                <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="xxxxx" />
                </intent-filter>
                <intent-filter>
                    <action android:name="android.intent.action.oppopush" />
                    <category android:name="android.intent.category.DEFAULT" />
                </intent-filter>
            </activity>

    记得把scheme换成正确的。