当前位置: 代码迷 >> Android >> 开机自启动并全屏浏览指定因特网址的安卓APP开发
  详细解决方案

开机自启动并全屏浏览指定因特网址的安卓APP开发

热度:4   发布时间:2016-04-28 01:06:42.0
开机自启动并全屏浏览指定网址的安卓APP开发

单位新添置一台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并全屏显示出指定网址的内容。

?

?