单位新添置一台50寸的安卓触屏电脑,需要自己开发一个APP,要实现的功能是:这个APP能跟随机器启动后自动启动,并能全屏显示指定网址的内容。经过几天的研究和调试,终于开发出了这个APP。
?
一、WebAppActivity.java的代码如下:
package cn.hbwl.webapp;import android.app.Activity;import android.os.Bundle;import android.view.KeyEvent; import android.view.Window;import android.view.WindowManager;import android.webkit.WebView; import android.webkit.WebViewClient;public class WebAppActivity extends Activity { private WebView webview; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // 无title requestWindowFeature(Window.FEATURE_NO_TITLE); // 全屏 getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); //实例化WebView对象 webview = new WebView(this); //设置WebView属性,能够执行Javascript脚本 webview.getSettings().setJavaScriptEnabled(true); //加载需要显示的网页 webview.setWebViewClient(new WebViewClient(){ public boolean shouldOverrideUrlLoading(WebView view, String url) { view.loadUrl(url); return true; } }); webview.loadUrl("http://www.smsx.org/bigdata/"); //设置Web视图 setContentView(webview); } @Override //设置回退 ,覆盖Activity类的onKeyDown方法 public boolean onKeyDown(int keyCode, KeyEvent event) { if ((keyCode == KeyEvent.KEYCODE_BACK) && webview.canGoBack()) { webview.goBack(); //goBack()表示返回WebView的上一页面 return true; } return false; } }
?二、BootBroadcastReceiver.java的代码如下,用于接收广播消息:
package cn.hbwl.webapp;import android.content.BroadcastReceiver;import android.content.Context;import android.content.Intent;public class BootBroadcastReceiver extends BroadcastReceiver { static final String action_boot="android.intent.action.BOOT_COMPLETED"; @Override public void onReceive(Context context, Intent intent) { if (intent.getAction().equals(action_boot)){ Intent ootStartIntent=new Intent(context,WebAppActivity.class); ootStartIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(ootStartIntent); } } }
?三、AndroidManifest.xml在代码如下,向系统注册了一个 receiver,子节点 intent-filter 表示接收
android.intent.action.BOOT_COMPLETED 消息。并且还要配置android.permission.RECEIVE_BOOT_COMPLETED权限。
<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" package="cn.hbwl.webapp" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="8" /> <application android:icon="@drawable/ic_launcher" android:label="@string/app_name" > <activity android:label="@string/app_name" android:name=".WebAppActivity" > <intent-filter > <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <receiver android:name=".BootBroadcastReceiver"> <intent-filter> <action android:name="android.intent.action.BOOT_COMPLETED"></action> <category android:name="android.intent.category.HOME" /> </intent-filter> </receiver> </application> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /></manifest>
?
完成后,编译出apk包,安装到触屏电脑或手机中。关机,重新开机后,就会自动启动这个APP并全屏显示出指定网址的内容。
?
?