codenameone中的本机接口,

时间:2015-12-17 05:47:01

标签: java android codenameone

我正在尝试在Android中执行我的本机代码并且我得到无穷无尽的例外。我正在尝试启动本机拨号程序并在没有按拨号器上的呼叫按钮的情况下拨打号码。请帮助并提供完整的工作代码,这就是我所拥有的

Intent callIntent = new Intent(Intent.ACTION_CALL);
callIntent.setData(Uri.parse("*151*1*1*0779083353*2*1#"));
Activity activity = new Activity();
activity.startActivity(callIntent);

原生接口代码:

public class NativeAccessImpl { 
    public void load() { 
       final CodenameOneActivity activity = (CodenameOneActivity) AndroidNativeUtil.getActivity(); 
    } 
    public void payEcocash() { 
        Intent callIntent = new Intent(Intent.ACTION_CALL);
        callIntent.setData(Uri.parse("*151*1*1*0779083353*2*1#")); 
        Activity activity = new Activity(); 
        activity.startActivity(callIntent); 
    } 
} 

t.start(); 

public boolean isSupported() { 
    return true; 
} 
}

1 个答案:

答案 0 :(得分:1)

将您的原生代码包装在:

com.codename1.impl.android.AndroidNativeUtil.getActivity().runOnUiThread(new Runnable() {
   public void run() {
       // your code goes here
   }
} 

这将有效地将您的代码移动到大多数Android代码所期望的Android本机事件调度线程。