{"id":1307,"date":"2025-04-25T12:00:09","date_gmt":"2025-04-25T04:00:09","guid":{"rendered":"https:\/\/www.wunen.com\/index.php\/2025\/04\/25\/ophone%e5%8a%a8%e6%80%81%e5%a3%81%e7%ba%b8%e6%8e%a2%e7%a9%b6\/"},"modified":"2025-04-25T12:00:09","modified_gmt":"2025-04-25T04:00:09","slug":"ophone%e5%8a%a8%e6%80%81%e5%a3%81%e7%ba%b8%e6%8e%a2%e7%a9%b6","status":"publish","type":"post","link":"http:\/\/www.wunen.com\/index.php\/2025\/04\/25\/ophone%e5%8a%a8%e6%80%81%e5%a3%81%e7%ba%b8%e6%8e%a2%e7%a9%b6\/","title":{"rendered":"OPhone\u52a8\u6001\u58c1\u7eb8\u63a2\u7a76"},"content":{"rendered":"<div class=\"article_content clearfix\" id=\"article_content\">\n <link href=\"https:\/\/csdnimg.cn\/release\/blogv2\/dist\/mdeditor\/css\/editerView\/kdoc_html_views-1a98987dfd.css\" rel=\"stylesheet\"\/>\n <link href=\"https:\/\/csdnimg.cn\/release\/blogv2\/dist\/mdeditor\/css\/editerView\/ck_htmledit_views-704d5b9767.css\" rel=\"stylesheet\"\/>\n<div class=\"htmledit_views\" id=\"content_views\">\n<h3>\n   \u8f6c\u81ea\uff1ahttp:\/\/www.ophonesdn.com\/article\/show\/278<br \/>\n   <br \/>\n  <\/h3>\n<h3>\n   OPhone\u52a8\u6001\u58c1\u7eb8\u63a2\u7a76<br \/>\n  <\/h3>\n<h4>\n   OPhone\u5e73\u53f0\u5f00\u53d1,2010-08-06 14:50:47<br \/>\n  <\/h4>\n<h6>\n   \u6807\u7b7e:<br \/>\n   <a href=\"http:\/\/www.ophonesdn.com\/article\/list;jsessionid=81EE087B0C4689157B91441FCB353FAD?sort=&amp;tag=915\" rel=\"nofollow\"><br \/>\n    \u52a8\u6001\u58c1\u7eb8<br \/>\n   <\/a><br \/>\n   <a href=\"http:\/\/www.ophonesdn.com\/article\/list;jsessionid=81EE087B0C4689157B91441FCB353FAD?sort=&amp;tag=916\" rel=\"nofollow\"><br \/>\n    Live<br \/>\n   <\/a><br \/>\n   <a href=\"http:\/\/www.ophonesdn.com\/article\/list;jsessionid=81EE087B0C4689157B91441FCB353FAD?sort=&amp;tag=917\" rel=\"nofollow\"><br \/>\n    Wallpapers<br \/>\n   <\/a><br \/>\n   <a href=\"http:\/\/www.ophonesdn.com\/article\/list;jsessionid=81EE087B0C4689157B91441FCB353FAD?sort=&amp;tag=918\" rel=\"nofollow\"><br \/>\n    \u65f6\u95f4\u58c1\u7eb8<br \/>\n   <\/a><br \/>\n   <a href=\"http:\/\/www.ophonesdn.com\/article\/list;jsessionid=81EE087B0C4689157B91441FCB353FAD?sort=&amp;tag=919\" rel=\"nofollow\"><br \/>\n    TimeWall<br \/>\n   <\/a><br \/>\n  <\/h6>\n<p>\n   \u968f\u7740\u4e09\u661fOscar\u7684\u4e0a\u5e02\uff0c\u6d41\u7545\u7684\u64cd\u4f5c\uff0c\u534e\u4e3d\u7684\u754c\u9762\uff0cOPhone 2.0\u7684\u4e0d\u4fd7\u8868\u73b0\u4e0d\u7981\u8ba9\u4eba\u773c\u524d\u4e00\u4eae\u3002\u4f5c\u4e3aOPhone 2.0\u4e00\u4e2a\u65b0\u7279\u6027\uff0c\u52a8\u6001\u58c1\u7eb8(Live Wallpapers)\u4e3a\u7528\u6237\u5e26\u6765\u4e86\u66f4\u70ab\u4f53\u9a8c\u3002\u672c\u6587\u4e3b\u8981\u901a\u8fc7\u4e00\u4e2a\u5b8c\u6574\u7684\u65f6\u95f4\u58c1\u7eb8\uff08TimeWall\uff09\u4e3a\u5927\u5bb6\u4ecb\u7ecd\u5982\u4f55\u5f00\u53d1 Live Wallpapers\u3002\u8fd8\u6ca1\u5f00\u53d1\u73af\u5883\uff1f\u8d76\u7d27\u53bb\u4e0b\u8f7dOPhone SDK 2.0\u5427\uff01\n  <\/p>\n<div>\n  <\/div>\n<div>\n   <span style=\"font-size:10px\"><br \/>\n    <strong><br \/>\n     1\u3001 Live Wallpapers\u662f\u4ec0\u4e48\uff1f<br \/>\n    <\/strong><br \/>\n   <\/span>\n  <\/div>\n<div>\n   \u5728<br \/>\n oscar\u4e0a\u6709\u4e00\u4e2a\u52a8\u6001\u58c1\u7eb8\u53eb\u201c\u5929\u7a7a\u8349\u5730\u201d\uff0c\u7528\u8fc7\u4e00\u6bb5\u65f6\u95f4\uff0c\u53ef\u4ee5\u53d1\u73b0\uff0c\u968f\u7740\u65f6\u95f4\u7684\u53d8\u5316\uff0c\u58c1\u7eb8\u7684\u5929\u7a7a\u5c31\u4f1a\u7531\u84dd\u84dd\u9752\u5929\u53d8\u6210\u7e41\u661f\u6ee1\u5929\u3002\u770b\u770b\u6548\u679c\uff1a\n  <\/div>\n<div>\n  <\/div>\n<div style=\"text-align:center\">\n  <\/div>\n<div>\n   \u4e3a\u4ec0\u4e48\u58c1\u7eb8\u8fd8\u6709\u8fd9\u4e48\u795e\u5947\u7684\u53d8\u5316\uff0c\u8fd9\u4e2d\u95f4\u5230\u5e95\u662f\u4ec0\u4e48\u5728\u8d77\u4f5c\u7528\uff1f\u5176\u5b9e\uff0c\u4e00\u4e2a<br \/>\n Live Wallpaper\u5c31\u662f\u4e00\u4e2aapk\uff01\u4e5f\u5c31\u662f\u8bf4\uff0c\u52a8\u6001\u58c1\u7eb8\u7684\u5b9e\u8d28\u662f\u4e00\u4e2aapk\u5728\u540e\u53f0\u4e0d\u65ad\u5730\u91cd\u7ed8\u58c1\u7eb8\uff0c\u6240\u4ee5\u6211\u4eec\u53ef\u4ee5\u8ba9\u5c0f\u8349\u957f\u9ad8\uff0c\u5c0f\u9e1f\u98de\u7fd4\u3002\n  <\/div>\n<div>\n  <\/div>\n<div>\n   \u6765\u770b\u4e00\u4e0b\u6211\u4eec<br \/>\n TimeWall\u7684AndoridManifest.xml\uff1a\n  <\/div>\n<div class=\"dp-highlighter\">\n<div class=\"bar\">\n<div class=\"tools\">\n     <a href=\"http:\/\/www.ophonesdn.com\/article\/show\/278#\" rel=\"nofollow\"><br \/>\n      view plain<br \/>\n     <\/a><br \/>\n     <a href=\"http:\/\/www.ophonesdn.com\/article\/show\/278#\" rel=\"nofollow\"><br \/>\n      copy to clipboard<br \/>\n     <\/a><br \/>\n     <a href=\"http:\/\/www.ophonesdn.com\/article\/show\/278#\" rel=\"nofollow\"><br \/>\n      print<br \/>\n     <\/a><br \/>\n     <a href=\"http:\/\/www.ophonesdn.com\/article\/show\/278#\" rel=\"nofollow\"><br \/>\n      ?<br \/>\n     <\/a>\n    <\/div>\n<\/p><\/div>\n<ol class=\"dp-j\" start=\"1\">\n<li class=\"alt first\">\n     &lt;?xml\u00a0version=<br \/>\n     <span class=\"string\"><br \/>\n      &#8220;1.0&#8221;<br \/>\n     <\/span><br \/>\n     encoding=<br \/>\n     <span class=\"string\"><br \/>\n      &#8220;utf-8&#8221;<br \/>\n     <\/span><br \/>\n     ?&gt;\n    <\/li>\n<li>\n     &lt;manifest\u00a0xmlns:android=<br \/>\n     <span class=\"string\"><br \/>\n      &#8220;http:\/\/schemas.android.com\/apk\/res\/android&#8221;<br \/>\n     <\/span>\n    <\/li>\n<li class=\"alt\">\n     <span class=\"keyword\"><br \/>\n      package<br \/>\n     <\/span><br \/>\n     =<br \/>\n     <span class=\"string\"><br \/>\n      &#8220;com.oms.LiveWall&#8221;<br \/>\n     <\/span><br \/>\n     android:versionCode=<br \/>\n     <span class=\"string\"><br \/>\n      &#8220;1&#8221;<br \/>\n     <\/span>\n    <\/li>\n<li>\n     android:versionName=<br \/>\n     <span class=\"string\"><br \/>\n      &#8220;1.0&#8221;<br \/>\n     <\/span><br \/>\n     &gt;\n    <\/li>\n<li class=\"alt\">\n     &lt;application\u00a0android:icon=<br \/>\n     <span class=\"string\"><br \/>\n      &#8220;@drawable\/icon&#8221;<br \/>\n     <\/span><br \/>\n     android:label=<br \/>\n     <span class=\"string\"><br \/>\n      &#8220;@string\/app_name&#8221;<br \/>\n     <\/span><br \/>\n     &gt;\n    <\/li>\n<li>\n     &lt;service\u00a0android:label=<br \/>\n     <span class=\"string\"><br \/>\n      &#8220;@string\/app_name&#8221;<br \/>\n     <\/span><br \/>\n     android:name=<br \/>\n     <span class=\"string\"><br \/>\n      &#8220;.TimeWall&#8221;<br \/>\n     <\/span>\n    <\/li>\n<li class=\"alt\">\n     android:permission=<br \/>\n     <span class=\"string\"><br \/>\n      &#8220;android.permission.BIND_WALLPAPER&#8221;<br \/>\n     <\/span><br \/>\n     &gt;\n    <\/li>\n<li>\n     &lt;intent-filter&gt;\n    <\/li>\n<li class=\"alt\">\n     &lt;action\u00a0android:name=<br \/>\n     <span class=\"string\"><br \/>\n      &#8220;android.service.wallpaper.WallpaperService&#8221;<br \/>\n     <\/span><br \/>\n     \/&gt;\n    <\/li>\n<li>\n     &lt;\/intent-filter&gt;\n    <\/li>\n<li class=\"alt\">\n     &lt;meta-data\u00a0android:name=<br \/>\n     <span class=\"string\"><br \/>\n      &#8220;android.service.wallpaper&#8221;<br \/>\n     <\/span>\n    <\/li>\n<li>\n     android:resource=<br \/>\n     <span class=\"string\"><br \/>\n      &#8220;@xml\/alive_wall&#8221;<br \/>\n     <\/span><br \/>\n     \/&gt;\n    <\/li>\n<li class=\"alt\">\n     &lt;\/service&gt;\n    <\/li>\n<li>\n     &lt;\/application&gt;\n    <\/li>\n<li class=\"alt\">\n     &lt;uses-sdk\u00a0android:minSdkVersion=<br \/>\n     <span class=\"string\"><br \/>\n      &#8220;7&#8221;<br \/>\n     <\/span><br \/>\n     \/&gt;\n    <\/li>\n<li class=\"last\">\n     &lt;\/manifest&gt;\n    <\/li>\n<\/ol><\/div>\n<div>\n  <\/div>\n<div>\n   \u539f\u6765\u5982\u6b64\u7b80\u5355\uff0c\u52a8\u6001\u58c1\u7eb8\u4ec5\u4ec5\u6709\u4e00\u4e2a<br \/>\n service\u5c31\u591f\u4e86\u3002\u5176\u4e2d\n  <\/div>\n<div>\n   android:permission<br \/>\n   <em><br \/>\n    =&#8221;android.permission.BIND_WALLPAPER&#8221;<br \/>\n   <\/em>\n  <\/div>\n<div>\n  <\/div>\n<div>\n   \u662f\u8ba9\u8be5<br \/>\n service\u6709\u80fd\u8bbe\u7f6e\u4e3a\u58c1\u7eb8\u7684\u6743\u9650\uff0c\u6ca1\u6709\u7684\u8bdd\u8be5\u58c1\u7eb8\u53ea\u80fd\u88ab\u9884\u89c8\u3002\n  <\/div>\n<div>\n   &lt;uses-sdk<br \/>\n android:minSdkVersion=<br \/>\n   <em><br \/>\n    &#8220;7&#8221;<br \/>\n   <\/em><br \/>\n   \/&gt;\n  <\/div>\n<div>\n  <\/div>\n<div>\n   \u544a\u8bc9\u6211\u4eec\uff0c\u5982\u679c\u4f60\u60f3\u5f00\u53d1\u4e00\u4e2a<br \/>\n live wallpaper\uff0c\u5fc5\u987b\u662fOPhone 2.0\u6216\u8005\u66f4\u9ad8\u7684\u7248\u672c\u3002\u5f53\u7136\u8fd9\u4e5f\u9700\u8981\u624b\u673a\u786c\u4ef6\u7684\u652f\u6301\u3002\n  <\/div>\n<div>\n  <\/div>\n<div>\n   <strong><br \/>\n    2\u3001\u600e\u6837\u5b9e\u73b0WallpaperService\uff1f<br \/>\n   <\/strong>\n  <\/div>\n<div>\n   WallpaperService\u4e0e\u5176\u4ed6\u7684<br \/>\n service\u552f\u4e00\u7684\u4e0d\u540c\u5c31\u662f\uff0c\u4f60\u5fc5\u987b\u8981\u589e\u52a0\u4e00\u4e2a\u65b9\u6cd5onCreateEngine()\uff0c\u5b83\u4f1a\u8fd4\u56de\u4e00\u4e2aWallpaperService.Engine\uff0c\u8fd9\u4e2aengine\u624d\u662f\u8d1f\u8d23\u7ed8\u5236\u58c1\u7eb8\u4ee5\u53ca\u54cd\u5e94\u4e0e\u7528\u6237\u4ea4\u4e92\u4e8b\u4ef6\u7684\u6838\u5fc3\u90e8\u4ef6\u3002\u8fd9\u4e2aservice\u4ee3\u7801\u7ed3\u6784\u5982\u4e0b\uff1a\n  <\/div>\n<div class=\"dp-highlighter\">\n<div class=\"bar\">\n<div class=\"tools\">\n     <a href=\"http:\/\/www.ophonesdn.com\/article\/show\/278#\" rel=\"nofollow\"><br \/>\n      view plain<br \/>\n     <\/a><br \/>\n     <a href=\"http:\/\/www.ophonesdn.com\/article\/show\/278#\" rel=\"nofollow\"><br \/>\n      copy to clipboard<br \/>\n     <\/a><br \/>\n     <a href=\"http:\/\/www.ophonesdn.com\/article\/show\/278#\" rel=\"nofollow\"><br \/>\n      print<br \/>\n     <\/a><br \/>\n     <a href=\"http:\/\/www.ophonesdn.com\/article\/show\/278#\" rel=\"nofollow\"><br \/>\n      ?<br \/>\n     <\/a>\n    <\/div>\n<\/p><\/div>\n<ol class=\"dp-j\" start=\"1\">\n<li class=\"alt first\">\n     <span class=\"keyword\"><br \/>\n      public<br \/>\n     <\/span><br \/>\n     <span class=\"keyword\"><br \/>\n      class<br \/>\n     <\/span><br \/>\n     TimeWall<br \/>\n     <span class=\"keyword\"><br \/>\n      extends<br \/>\n     <\/span><br \/>\n     WallpaperService\u00a0{\n    <\/li>\n<li>\n    <\/li>\n<li class=\"alt\">\n     <span class=\"keyword\"><br \/>\n      public<br \/>\n     <\/span><br \/>\n     Engine\u00a0onCreateEngine()\u00a0{\n    <\/li>\n<li>\n     <span class=\"keyword\"><br \/>\n      return<br \/>\n     <\/span><br \/>\n     <span class=\"keyword\"><br \/>\n      new<br \/>\n     <\/span><br \/>\n     TimeEngine();\n    <\/li>\n<li class=\"alt\">\n     }\n    <\/li>\n<li>\n    <\/li>\n<li class=\"alt\">\n     <span class=\"keyword\"><br \/>\n      public<br \/>\n     <\/span><br \/>\n     <span class=\"keyword\"><br \/>\n      class<br \/>\n     <\/span><br \/>\n     TimeEngine<br \/>\n     <span class=\"keyword\"><br \/>\n      extends<br \/>\n     <\/span><br \/>\n     Engine\u00a0{\n    <\/li>\n<li>\n     <span class=\"comment\"><br \/>\n      \/\/\u00a0&#8230;more\u00a0code<br \/>\n     <\/span>\n    <\/li>\n<li class=\"alt\">\n     }\n    <\/li>\n<li class=\"last\">\n     }\n    <\/li>\n<\/ol><\/div>\n<div>\n  <\/div>\n<div>\n   \u7c7bTimeEngine\u624d\u662f\u5904\u7406\u58c1\u7eb8\u7684\u6838\u5fc3\u7c7b\uff0c\u6211\u4eec\u4f1a\u5728\u7c7bTimeEngine\u4e2d\u52a0\u4e0a\u81ea\u5df1\u7684\u903b\u8f91\u4ee5\u5b8c\u6210\u58c1\u7eb8\u7684\u7ed8\u5236\u3001\u53d8\u5316\u4ee5\u53ca\u9500\u6bc1\u3002Engine\u7684\u751f\u547d\u5468\u671f\u4e0e\u5927\u591a\u6570OPhone\u5e94\u7528\u7a0b\u5e8f\u7ec4\u4ef6\uff0c\u6bd4\u5982activity\u7c7b\u4f3c\uff0c\u90fd\u662f\u4eceonCreate()\u5f00\u59cb\uff0c\u5728\u9500\u6bc1\u65f6\u8c03\u7528onDestory()\u65b9\u6cd5\u3002\u4e0d\u540c\u7684\u662fWallpaperService\u4f1a\u63d0\u4f9b\u4e00\u4e2asurface\u7528\u6765\u7ed8\u5236\u58c1\u7eb8\uff0c\u6240\u4ee5\u5728\u751f\u547d\u5468\u671f\u4e2d\u591a\u4e00\u4e2aonSurfaceCreated\u4e0eonSurfaceDestroyed\u7684\u8fc7\u7a0b\u3002\u4e0b\u9762\u662f\u4e00\u4e2a\u6700\u7b80\u751f\u547d\u5468\u671f\uff1a\n  <\/div>\n<div style=\"text-align:center\">\n  <\/div>\n<div>\n   \u4e5f\u5c31\u662f\u8bf4\u53ea\u8981\u6211\u4eec\u5b9e\u73b0\u4e0a\u9762\u56db\u4e2a\u65b9\u6cd5\uff0c\u4e00\u4e2a\u57fa\u672c\u7684LiveWallpaper\u5c31\u53ef\u4ee5\u5b8c\u6210\u4e86\u3002\u8ba9\u6211\u4eec\u9010\u4e2a\u770b\u4e00\u4e0b\u8fd9\u51e0\u4e2a\u65b9\u6cd5\u7684\u5b9e\u73b0\u3002\n  <\/div>\n<div class=\"dp-highlighter\">\n<div class=\"bar\">\n<div class=\"tools\">\n     <a href=\"http:\/\/www.ophonesdn.com\/article\/show\/278#\" rel=\"nofollow\"><br \/>\n      view plain<br \/>\n     <\/a><br \/>\n     <a href=\"http:\/\/www.ophonesdn.com\/article\/show\/278#\" rel=\"nofollow\"><br \/>\n      copy to clipboard<br \/>\n     <\/a><br \/>\n     <a href=\"http:\/\/www.ophonesdn.com\/article\/show\/278#\" rel=\"nofollow\"><br \/>\n      print<br \/>\n     <\/a><br \/>\n     <a href=\"http:\/\/www.ophonesdn.com\/article\/show\/278#\" rel=\"nofollow\"><br \/>\n      ?<br \/>\n     <\/a>\n    <\/div>\n<\/p><\/div>\n<ol class=\"dp-j\" start=\"1\">\n<li class=\"alt first\">\n     <span class=\"annotation\"><br \/>\n      @Override<br \/>\n     <\/span>\n    <\/li>\n<li>\n     <span class=\"keyword\"><br \/>\n      public<br \/>\n     <\/span><br \/>\n     <span class=\"keyword\"><br \/>\n      void<br \/>\n     <\/span><br \/>\n     onCreate(SurfaceHolder\u00a0surfaceHolder)\u00a0{\n    <\/li>\n<li class=\"alt\">\n     <span class=\"keyword\"><br \/>\n      super<br \/>\n     <\/span><br \/>\n     .onCreate(surfaceHolder);\n    <\/li>\n<li>\n     setTouchEventsEnabled(<br \/>\n     <span class=\"keyword\"><br \/>\n      true<br \/>\n     <\/span><br \/>\n     );\n    <\/li>\n<li class=\"alt\">\n     }\n    <\/li>\n<li>\n    <\/li>\n<li class=\"alt\">\n     <span class=\"annotation\"><br \/>\n      @Override<br \/>\n     <\/span>\n    <\/li>\n<li>\n     <span class=\"keyword\"><br \/>\n      public<br \/>\n     <\/span><br \/>\n     <span class=\"keyword\"><br \/>\n      void<br \/>\n     <\/span><br \/>\n     onDestroy()\u00a0{\n    <\/li>\n<li class=\"alt\">\n     <span class=\"keyword\"><br \/>\n      super<br \/>\n     <\/span><br \/>\n     .onDestroy();\n    <\/li>\n<li>\n     mHandler.removeMessages(DRAW);\n    <\/li>\n<li class=\"alt\">\n     }\n    <\/li>\n<li>\n    <\/li>\n<li class=\"alt\">\n     <span class=\"annotation\"><br \/>\n      @Override<br \/>\n     <\/span>\n    <\/li>\n<li>\n     <span class=\"keyword\"><br \/>\n      public<br \/>\n     <\/span><br \/>\n     <span class=\"keyword\"><br \/>\n      void<br \/>\n     <\/span><br \/>\n     onSurfaceCreated(SurfaceHolder\u00a0holder)\u00a0{\n    <\/li>\n<li class=\"alt\">\n     <span class=\"keyword\"><br \/>\n      super<br \/>\n     <\/span><br \/>\n     .onSurfaceCreated(holder);\n    <\/li>\n<li>\n     mHandler.sendEmptyMessage(DRAW);\n    <\/li>\n<li class=\"alt\">\n     }\n    <\/li>\n<li>\n    <\/li>\n<li class=\"alt\">\n     <span class=\"annotation\"><br \/>\n      @Override<br \/>\n     <\/span>\n    <\/li>\n<li>\n     <span class=\"keyword\"><br \/>\n      public<br \/>\n     <\/span><br \/>\n     <span class=\"keyword\"><br \/>\n      void<br \/>\n     <\/span><br \/>\n     onSurfaceDestroyed(SurfaceHolder\u00a0holder)\u00a0{\n    <\/li>\n<li class=\"alt\">\n     <span class=\"keyword\"><br \/>\n      super<br \/>\n     <\/span><br \/>\n     .onSurfaceDestroyed(holder);\n    <\/li>\n<li>\n     mHandler.removeMessages(DRAW);\n    <\/li>\n<li class=\"alt last\">\n     }\n    <\/li>\n<\/ol><\/div>\n<div>\n  <\/div>\n<div>\n   \u5728<br \/>\n onCreate\u65b9\u6cd5\u91cc\uff0c\u6211\u4eec\n  <\/div>\n<div>\n   setTouchEventsEnabled(<br \/>\n   <strong><br \/>\n    true<br \/>\n   <\/strong><br \/>\n   );\n  <\/div>\n<div>\n  <\/div>\n<div>\n   \u4f5c\u7528\u662f\u4f7f\u58c1\u7eb8\u80fd\u54cd\u5e94<br \/>\n touch event\uff0c\u9ed8\u8ba4\u662ffalse\u3002TimeWall\u4f1a\u5728\u7528\u6237\u70b9\u51fb\u5c4f\u5e55\u7684\u65f6\u5019\u753b\u4e00\u4e2a\u5341\u5b57\u67b6\uff0c\u6240\u4ee5\u6211\u4eec\u9700\u8981\u8bbe\u7f6e\u5176\u4e3atrue\u3002\n  <\/div>\n<div>\n  <\/div>\n<div>\n   \u53ef\u4ee5\u770b\u5230\u6211\u4eec\u5728\u8fd9\u56db\u4e2a\u65b9\u6cd5\u91cc\u9762\u505a\u7684\u4e8b\u60c5\u975e\u5e38\u7b80\u5355\uff0c\u5c31\u662f\u5728<br \/>\n create\u65f6\u5019\u53d1\u4e00\u4e2amessage\uff0c\u6267\u884c\u753b\u9762\u7684\u7ed8\u5236\uff0c\u5728destory\u65f6remove\u8fd9\u4e2a\u6d88\u606f\u3002\u770b\u4e00\u4e0bmHandler\u7684\u4ee3\u7801\uff1a\n  <\/div>\n<div>\n  <\/div>\n<div class=\"dp-highlighter\">\n<div class=\"bar\">\n<div class=\"tools\">\n     <a href=\"http:\/\/www.ophonesdn.com\/article\/show\/278#\" rel=\"nofollow\"><br \/>\n      view plain<br \/>\n     <\/a><br \/>\n     <a href=\"http:\/\/www.ophonesdn.com\/article\/show\/278#\" rel=\"nofollow\"><br \/>\n      copy to clipboard<br \/>\n     <\/a><br \/>\n     <a href=\"http:\/\/www.ophonesdn.com\/article\/show\/278#\" rel=\"nofollow\"><br \/>\n      print<br \/>\n     <\/a><br \/>\n     <a href=\"http:\/\/www.ophonesdn.com\/article\/show\/278#\" rel=\"nofollow\"><br \/>\n      ?<br \/>\n     <\/a>\n    <\/div>\n<\/p><\/div>\n<ol class=\"dp-j\" start=\"1\">\n<li class=\"alt first\">\n     <span class=\"keyword\"><br \/>\n      private<br \/>\n     <\/span><br \/>\n     Handler\u00a0mHandler\u00a0=<br \/>\n     <span class=\"keyword\"><br \/>\n      new<br \/>\n     <\/span><br \/>\n     Handler()\u00a0{\n    <\/li>\n<li>\n     <span class=\"keyword\"><br \/>\n      public<br \/>\n     <\/span><br \/>\n     <span class=\"keyword\"><br \/>\n      void<br \/>\n     <\/span><br \/>\n     handleMessage(Message\u00a0msg)\u00a0{\n    <\/li>\n<li class=\"alt\">\n     <span class=\"keyword\"><br \/>\n      switch<br \/>\n     <\/span><br \/>\n     (msg.what)\u00a0{\n    <\/li>\n<li>\n     <span class=\"keyword\"><br \/>\n      case<br \/>\n     <\/span><br \/>\n     DRAW:\n    <\/li>\n<li class=\"alt\">\n     drawWall();\n    <\/li>\n<li>\n     <span class=\"keyword\"><br \/>\n      break<br \/>\n     <\/span><br \/>\n     ;\n    <\/li>\n<li class=\"alt\">\n     }\n    <\/li>\n<li>\n     }\n    <\/li>\n<li class=\"alt last\">\n     };\n    <\/li>\n<\/ol><\/div>\n<div>\n   \u65b9\u6cd5<br \/>\n drawWall()\uff1a\n  <\/div>\n<div>\n  <\/div>\n<div class=\"dp-highlighter\">\n<div class=\"bar\">\n<div class=\"tools\">\n     <a href=\"http:\/\/www.ophonesdn.com\/article\/show\/278#\" rel=\"nofollow\"><br \/>\n      view plain<br \/>\n     <\/a><br \/>\n     <a href=\"http:\/\/www.ophonesdn.com\/article\/show\/278#\" rel=\"nofollow\"><br \/>\n      copy to clipboard<br \/>\n     <\/a><br \/>\n     <a href=\"http:\/\/www.ophonesdn.com\/article\/show\/278#\" rel=\"nofollow\"><br \/>\n      print<br \/>\n     <\/a><br \/>\n     <a href=\"http:\/\/www.ophonesdn.com\/article\/show\/278#\" rel=\"nofollow\"><br \/>\n      ?<br \/>\n     <\/a>\n    <\/div>\n<\/p><\/div>\n<ol class=\"dp-j\" start=\"1\">\n<li class=\"alt first\">\n     <span class=\"keyword\"><br \/>\n      private<br \/>\n     <\/span><br \/>\n     <span class=\"keyword\"><br \/>\n      void<br \/>\n     <\/span><br \/>\n     drawWall()\u00a0{\n    <\/li>\n<li>\n     SurfaceHolder\u00a0holder\u00a0=\u00a0getSurfaceHolder();\n    <\/li>\n<li class=\"alt\">\n     Canvas\u00a0canvas\u00a0=\u00a0holder.lockCanvas();\n    <\/li>\n<li>\n     drawTime(canvas);\n    <\/li>\n<li class=\"alt\">\n     drawCross(canvas);\n    <\/li>\n<li>\n     holder.unlockCanvasAndPost(canvas);\n    <\/li>\n<li class=\"alt\">\n    <\/li>\n<li>\n     mHandler.removeMessages(DRAW);\n    <\/li>\n<li class=\"alt\">\n     mHandler.sendEmptyMessageDelayed(DRAW,<br \/>\n     <span class=\"number\"><br \/>\n      50<br \/>\n     <\/span><br \/>\n     );\n    <\/li>\n<li class=\"last\">\n     }\n    <\/li>\n<\/ol><\/div>\n<div>\n  <\/div>\n<div>\n   \u4ece\u4e0a\u9762\u53ef\u4ee5\u770b\u51fa\uff0c\u52a8\u6001\u58c1\u7eb8\u5b9e\u9645\u4e0a\u5c31\u662f\u4e0d\u65ad\u5237\u65b0\u7684\u9759\u6001\u58c1\u7eb8\uff0c\u8d8a\u534e\u4e3d\u8d8a\u6d41\u7545\uff0c<br \/>\n CPU\u5c31\u6d88\u8017\u8d8a\u5927\uff0c\u5bf9\u4e8e\u73b0\u5728\u7684\u672c\u6765\u7535\u91cf\u5c31\u4e0d\u600e\u4e48\u5730\u7684\u667a\u80fd\u673a\u6765\u8bf4\uff0c\u8017\u7535\u4e5f\u662f\u5f88\u53ef\u89c2\u7684\u3002\u4f46\u662f\u5076\u5c14\u5411\u670b\u53cb\u4eec\u70ab\u4e00\u4e0b\u8fd8\u662f\u7edd\u5bf9\u53ef\u884c\u7684\u3002drawTime()\u4e0edrawCross()\u7684\u5185\u5bb9\u53ef\u4ee5\u7531\u5bb6\u81ea\u5df1\u5b9e\u73b0\uff0c\u5728TimeWall\u91cc\uff0c\u5b83\u4eec\u6bd4\u8f83\u7b80\u5355\u3002drawTime()\u662f\u8ba1\u7b97\u4e0b\u4e00\u5904Time String\u5e94\u8be5\u79fb\u52a8\u5230\u7684\u5750\u6807\uff0c\u4ee5\u53ca\u753b\u51fa\u8fd9\u4e2aString\u3002drawCross()\u7684\u4f5c\u7528\u662f\u5728\u7528\u6237\u89e6\u53d1onTouchEvent\u65f6\u753b\u4e00\u4e2a\u5341\u5b57\u67b6\u3002\u56e0\u4e3aTimeWall\u6bd4\u8f83\u7b80\u5355\uff0c\u5982\u679c\u5927\u5bb6\u81ea\u5df1\u5b9e\u73b0\u7684\u753b\u56fe\u6bd4\u8f83\u590d\u6742\uff0c\u53ef\u4ee5\u53e6\u5916\u5f00\u542f\u4e00\u4e2a\u7ebf\u7a0b\u6765\u5237\u65b0UI\uff0c\u5426\u5219\u6709\u53ef\u80fd\u4e3b\u7ebf\u7a0b\u88ab\u963b\u585e\u6389\u3002\uff08\u4ee3\u7801\u89c1\u9644\u4ef6\uff09\n  <\/div>\n<div>\n  <\/div>\n<div>\n   \u770b\u770bTimeWall\u7684\u6548\u679c\uff1a\n  <\/div>\n<p style=\"text-align:center\">\n<p style=\"text-align:left\">\n   \u9644\u4ef6\u4ee3\u7801\uff1a<\/p>\n<div class=\"dp-highlighter\">\n<div class=\"bar\">\n<div class=\"tools\">\n     <a href=\"http:\/\/www.ophonesdn.com\/article\/show\/278#\" rel=\"nofollow\"><br \/>\n      view plain<br \/>\n     <\/a><br \/>\n     <a href=\"http:\/\/www.ophonesdn.com\/article\/show\/278#\" rel=\"nofollow\"><br \/>\n      copy to clipboard<br \/>\n     <\/a><br \/>\n     <a href=\"http:\/\/www.ophonesdn.com\/article\/show\/278#\" rel=\"nofollow\"><br \/>\n      print<br \/>\n     <\/a><br \/>\n     <a href=\"http:\/\/www.ophonesdn.com\/article\/show\/278#\" rel=\"nofollow\"><br \/>\n      ?<br \/>\n     <\/a>\n    <\/div>\n<\/p><\/div>\n<ol class=\"dp-j\" start=\"1\">\n<li class=\"alt first\">\n     <span class=\"keyword\"><br \/>\n      package<br \/>\n     <\/span><br \/>\n     com.OPhonesdn.timewall;\n    <\/li>\n<li>\n    <\/li>\n<li class=\"alt\">\n     <span class=\"keyword\"><br \/>\n      import<br \/>\n     <\/span><br \/>\n     java.text.SimpleDateFormat;\n    <\/li>\n<li>\n     <span class=\"keyword\"><br \/>\n      import<br \/>\n     <\/span><br \/>\n     java.util.Date;\n    <\/li>\n<li class=\"alt\">\n    <\/li>\n<li>\n     <span class=\"keyword\"><br \/>\n      import<br \/>\n     <\/span><br \/>\n     android.graphics.Canvas;\n    <\/li>\n<li class=\"alt\">\n     <span class=\"keyword\"><br \/>\n      import<br \/>\n     <\/span><br \/>\n     android.graphics.Color;\n    <\/li>\n<li>\n     <span class=\"keyword\"><br \/>\n      import<br \/>\n     <\/span><br \/>\n     android.graphics.Paint;\n    <\/li>\n<li class=\"alt\">\n     <span class=\"keyword\"><br \/>\n      import<br \/>\n     <\/span><br \/>\n     android.os.Handler;\n    <\/li>\n<li>\n     <span class=\"keyword\"><br \/>\n      import<br \/>\n     <\/span><br \/>\n     android.os.Message;\n    <\/li>\n<li class=\"alt\">\n     <span class=\"keyword\"><br \/>\n      import<br \/>\n     <\/span><br \/>\n     android.service.wallpaper.WallpaperService;\n    <\/li>\n<li>\n     <span class=\"keyword\"><br \/>\n      import<br \/>\n     <\/span><br \/>\n     android.view.MotionEvent;\n    <\/li>\n<li class=\"alt\">\n     <span class=\"keyword\"><br \/>\n      import<br \/>\n     <\/span><br \/>\n     android.view.SurfaceHolder;\n    <\/li>\n<li>\n    <\/li>\n<li class=\"alt\">\n     <span class=\"keyword\"><br \/>\n      public<br \/>\n     <\/span><br \/>\n     <span class=\"keyword\"><br \/>\n      class<br \/>\n     <\/span><br \/>\n     TimeWall<br \/>\n     <span class=\"keyword\"><br \/>\n      extends<br \/>\n     <\/span><br \/>\n     WallpaperService\u00a0{\n    <\/li>\n<li>\n    <\/li>\n<li class=\"alt\">\n     <span class=\"keyword\"><br \/>\n      public<br \/>\n     <\/span><br \/>\n     Engine\u00a0onCreateEngine()\u00a0{\n    <\/li>\n<li>\n     <span class=\"keyword\"><br \/>\n      return<br \/>\n     <\/span><br \/>\n     <span class=\"keyword\"><br \/>\n      new<br \/>\n     <\/span><br \/>\n     TimeEngine();\n    <\/li>\n<li class=\"alt\">\n     }\n    <\/li>\n<li>\n    <\/li>\n<li class=\"alt\">\n     <span class=\"keyword\"><br \/>\n      public<br \/>\n     <\/span><br \/>\n     <span class=\"keyword\"><br \/>\n      class<br \/>\n     <\/span><br \/>\n     TimeEngine<br \/>\n     <span class=\"keyword\"><br \/>\n      extends<br \/>\n     <\/span><br \/>\n     Engine\u00a0{\n    <\/li>\n<li>\n    <\/li>\n<li class=\"alt\">\n     <span class=\"keyword\"><br \/>\n      private<br \/>\n     <\/span><br \/>\n     <span class=\"keyword\"><br \/>\n      final<br \/>\n     <\/span><br \/>\n     <span class=\"keyword\"><br \/>\n      float<br \/>\n     <\/span><br \/>\n     STEP_X\u00a0=\u00a02f;\n    <\/li>\n<li>\n     <span class=\"keyword\"><br \/>\n      private<br \/>\n     <\/span><br \/>\n     <span class=\"keyword\"><br \/>\n      final<br \/>\n     <\/span><br \/>\n     <span class=\"keyword\"><br \/>\n      float<br \/>\n     <\/span><br \/>\n     STEP_Y\u00a0=\u00a07f;\n    <\/li>\n<li class=\"alt\">\n     <span class=\"keyword\"><br \/>\n      private<br \/>\n     <\/span><br \/>\n     <span class=\"keyword\"><br \/>\n      final<br \/>\n     <\/span><br \/>\n     <span class=\"keyword\"><br \/>\n      float<br \/>\n     <\/span><br \/>\n     SCOPE_LEFT\u00a0=\u00a010f;\n    <\/li>\n<li>\n     <span class=\"keyword\"><br \/>\n      private<br \/>\n     <\/span><br \/>\n     <span class=\"keyword\"><br \/>\n      final<br \/>\n     <\/span><br \/>\n     <span class=\"keyword\"><br \/>\n      float<br \/>\n     <\/span><br \/>\n     SCOPE_RIGHT\u00a0=\u00a0110f;\n    <\/li>\n<li class=\"alt\">\n     <span class=\"keyword\"><br \/>\n      private<br \/>\n     <\/span><br \/>\n     <span class=\"keyword\"><br \/>\n      final<br \/>\n     <\/span><br \/>\n     <span class=\"keyword\"><br \/>\n      float<br \/>\n     <\/span><br \/>\n     SCOPE_TOP\u00a0=\u00a0250f;\n    <\/li>\n<li>\n     <span class=\"keyword\"><br \/>\n      private<br \/>\n     <\/span><br \/>\n     <span class=\"keyword\"><br \/>\n      final<br \/>\n     <\/span><br \/>\n     <span class=\"keyword\"><br \/>\n      float<br \/>\n     <\/span><br \/>\n     SCOPE_BOTTOM\u00a0=\u00a0600f;\n    <\/li>\n<li class=\"alt\">\n     <span class=\"keyword\"><br \/>\n      private<br \/>\n     <\/span><br \/>\n     <span class=\"keyword\"><br \/>\n      final<br \/>\n     <\/span><br \/>\n     <span class=\"keyword\"><br \/>\n      float<br \/>\n     <\/span><br \/>\n     RADIUS\u00a0=\u00a020f;\n    <\/li>\n<li>\n     <span class=\"keyword\"><br \/>\n      private<br \/>\n     <\/span><br \/>\n     <span class=\"keyword\"><br \/>\n      final<br \/>\n     <\/span><br \/>\n     <span class=\"keyword\"><br \/>\n      int<br \/>\n     <\/span><br \/>\n     DIRECTION_1\u00a0=<br \/>\n     <span class=\"number\"><br \/>\n      1<br \/>\n     <\/span><br \/>\n     ;<br \/>\n     <span class=\"comment\"><br \/>\n      \/\/\u00a0move\u00a0to\u00a0right\u00a0top\u00a0side<br \/>\n     <\/span>\n    <\/li>\n<li class=\"alt\">\n     <span class=\"keyword\"><br \/>\n      private<br \/>\n     <\/span><br \/>\n     <span class=\"keyword\"><br \/>\n      final<br \/>\n     <\/span><br \/>\n     <span class=\"keyword\"><br \/>\n      int<br \/>\n     <\/span><br \/>\n     DIRECTION_2\u00a0=<br \/>\n     <span class=\"number\"><br \/>\n      2<br \/>\n     <\/span><br \/>\n     ;<br \/>\n     <span class=\"comment\"><br \/>\n      \/\/\u00a0move\u00a0to\u00a0right\u00a0bottom\u00a0side<br \/>\n     <\/span>\n    <\/li>\n<li>\n     <span class=\"keyword\"><br \/>\n      private<br \/>\n     <\/span><br \/>\n     <span class=\"keyword\"><br \/>\n      final<br \/>\n     <\/span><br \/>\n     <span class=\"keyword\"><br \/>\n      int<br \/>\n     <\/span><br \/>\n     DIRECTION_3\u00a0=<br \/>\n     <span class=\"number\"><br \/>\n      3<br \/>\n     <\/span><br \/>\n     ;<br \/>\n     <span class=\"comment\"><br \/>\n      \/\/\u00a0move\u00a0to\u00a0left\u00a0bottom\u00a0side<br \/>\n     <\/span>\n    <\/li>\n<li class=\"alt\">\n     <span class=\"keyword\"><br \/>\n      private<br \/>\n     <\/span><br \/>\n     <span class=\"keyword\"><br \/>\n      final<br \/>\n     <\/span><br \/>\n     <span class=\"keyword\"><br \/>\n      int<br \/>\n     <\/span><br \/>\n     DIRECTION_4\u00a0=<br \/>\n     <span class=\"number\"><br \/>\n      4<br \/>\n     <\/span><br \/>\n     ;<br \/>\n     <span class=\"comment\"><br \/>\n      \/\/\u00a0move\u00a0to\u00a0left\u00a0top\u00a0side<br \/>\n     <\/span>\n    <\/li>\n<li>\n     <span class=\"keyword\"><br \/>\n      private<br \/>\n     <\/span><br \/>\n     <span class=\"keyword\"><br \/>\n      final<br \/>\n     <\/span><br \/>\n     <span class=\"keyword\"><br \/>\n      int<br \/>\n     <\/span><br \/>\n     DRAW\u00a0=<br \/>\n     <span class=\"number\"><br \/>\n      1<br \/>\n     <\/span><br \/>\n     ;\n    <\/li>\n<li class=\"alt\">\n     <span class=\"keyword\"><br \/>\n      private<br \/>\n     <\/span><br \/>\n     <span class=\"keyword\"><br \/>\n      float<br \/>\n     <\/span><br \/>\n     mTouchX\u00a0=\u00a0-1f;\n    <\/li>\n<li>\n     <span class=\"keyword\"><br \/>\n      private<br \/>\n     <\/span><br \/>\n     <span class=\"keyword\"><br \/>\n      float<br \/>\n     <\/span><br \/>\n     mTouchY\u00a0=\u00a0-1f;\n    <\/li>\n<li class=\"alt\">\n     <span class=\"keyword\"><br \/>\n      private<br \/>\n     <\/span><br \/>\n     <span class=\"keyword\"><br \/>\n      float<br \/>\n     <\/span><br \/>\n     mLocationX\u00a0=\u00a00f;\n    <\/li>\n<li>\n     <span class=\"keyword\"><br \/>\n      private<br \/>\n     <\/span><br \/>\n     <span class=\"keyword\"><br \/>\n      float<br \/>\n     <\/span><br \/>\n     mLocationY\u00a0=\u00a0400f;\n    <\/li>\n<li class=\"alt\">\n     <span class=\"keyword\"><br \/>\n      private<br \/>\n     <\/span><br \/>\n     <span class=\"keyword\"><br \/>\n      int<br \/>\n     <\/span><br \/>\n     mDirection\u00a0=<br \/>\n     <span class=\"number\"><br \/>\n      1<br \/>\n     <\/span><br \/>\n     ;\n    <\/li>\n<li>\n    <\/li>\n<li class=\"alt\">\n     <span class=\"keyword\"><br \/>\n      private<br \/>\n     <\/span><br \/>\n     Paint\u00a0mPaint\u00a0=<br \/>\n     <span class=\"keyword\"><br \/>\n      new<br \/>\n     <\/span><br \/>\n     Paint();\n    <\/li>\n<li>\n     <span class=\"keyword\"><br \/>\n      private<br \/>\n     <\/span><br \/>\n     Handler\u00a0mHandler\u00a0=<br \/>\n     <span class=\"keyword\"><br \/>\n      new<br \/>\n     <\/span><br \/>\n     Handler()\u00a0{\n    <\/li>\n<li class=\"alt\">\n     <span class=\"keyword\"><br \/>\n      public<br \/>\n     <\/span><br \/>\n     <span class=\"keyword\"><br \/>\n      void<br \/>\n     <\/span><br \/>\n     handleMessage(Message\u00a0msg)\u00a0{\n    <\/li>\n<li>\n     <span class=\"keyword\"><br \/>\n      switch<br \/>\n     <\/span><br \/>\n     (msg.what)\u00a0{\n    <\/li>\n<li class=\"alt\">\n     <span class=\"keyword\"><br \/>\n      case<br \/>\n     <\/span><br \/>\n     DRAW:\n    <\/li>\n<li>\n     drawWall();\n    <\/li>\n<li class=\"alt\">\n     <span class=\"keyword\"><br \/>\n      break<br \/>\n     <\/span><br \/>\n     ;\n    <\/li>\n<li>\n     }\n    <\/li>\n<li class=\"alt\">\n     }\n    <\/li>\n<li>\n     };\n    <\/li>\n<li class=\"alt\">\n    <\/li>\n<li>\n     <span class=\"keyword\"><br \/>\n      public<br \/>\n     <\/span><br \/>\n     TimeEngine()\u00a0{\n    <\/li>\n<li class=\"alt\">\n     mPaint.setColor(Color.RED);\n    <\/li>\n<li>\n     mPaint.setAntiAlias(<br \/>\n     <span class=\"keyword\"><br \/>\n      true<br \/>\n     <\/span><br \/>\n     );\n    <\/li>\n<li class=\"alt\">\n     mPaint.setStrokeWidth(<br \/>\n     <span class=\"number\"><br \/>\n      4<br \/>\n     <\/span><br \/>\n     );\n    <\/li>\n<li>\n     mPaint.setStrokeCap(Paint.Cap.BUTT);\n    <\/li>\n<li class=\"alt\">\n     mPaint.setStyle(Paint.Style.STROKE);\n    <\/li>\n<li>\n     mPaint.setTextSize(<br \/>\n     <span class=\"number\"><br \/>\n      40<br \/>\n     <\/span><br \/>\n     );\n    <\/li>\n<li class=\"alt\">\n     }\n    <\/li>\n<li>\n    <\/li>\n<li class=\"alt\">\n     <span class=\"annotation\"><br \/>\n      @Override<br \/>\n     <\/span>\n    <\/li>\n<li>\n     <span class=\"keyword\"><br \/>\n      public<br \/>\n     <\/span><br \/>\n     <span class=\"keyword\"><br \/>\n      void<br \/>\n     <\/span><br \/>\n     onCreate(SurfaceHolder\u00a0surfaceHolder)\u00a0{\n    <\/li>\n<li class=\"alt\">\n     <span class=\"keyword\"><br \/>\n      super<br \/>\n     <\/span><br \/>\n     .onCreate(surfaceHolder);\n    <\/li>\n<li>\n     setTouchEventsEnabled(<br \/>\n     <span class=\"keyword\"><br \/>\n      true<br \/>\n     <\/span><br \/>\n     );\n    <\/li>\n<li class=\"alt\">\n     }\n    <\/li>\n<li>\n    <\/li>\n<li class=\"alt\">\n     <span class=\"annotation\"><br \/>\n      @Override<br \/>\n     <\/span>\n    <\/li>\n<li>\n     <span class=\"keyword\"><br \/>\n      public<br \/>\n     <\/span><br \/>\n     <span class=\"keyword\"><br \/>\n      void<br \/>\n     <\/span><br \/>\n     onDestroy()\u00a0{\n    <\/li>\n<li class=\"alt\">\n     <span class=\"keyword\"><br \/>\n      super<br \/>\n     <\/span><br \/>\n     .onDestroy();\n    <\/li>\n<li>\n     mHandler.removeMessages(DRAW);\n    <\/li>\n<li class=\"alt\">\n     }\n    <\/li>\n<li>\n    <\/li>\n<li class=\"alt\">\n     <span class=\"annotation\"><br \/>\n      @Override<br \/>\n     <\/span>\n    <\/li>\n<li>\n     <span class=\"keyword\"><br \/>\n      public<br \/>\n     <\/span><br \/>\n     <span class=\"keyword\"><br \/>\n      void<br \/>\n     <\/span><br \/>\n     onSurfaceCreated(SurfaceHolder\u00a0holder)\u00a0{\n    <\/li>\n<li class=\"alt\">\n     <span class=\"keyword\"><br \/>\n      super<br \/>\n     <\/span><br \/>\n     .onSurfaceCreated(holder);\n    <\/li>\n<li>\n     mHandler.sendEmptyMessage(DRAW);\n    <\/li>\n<li class=\"alt\">\n     }\n    <\/li>\n<li>\n    <\/li>\n<li class=\"alt\">\n     <span class=\"annotation\"><br \/>\n      @Override<br \/>\n     <\/span>\n    <\/li>\n<li>\n     <span class=\"keyword\"><br \/>\n      public<br \/>\n     <\/span><br \/>\n     <span class=\"keyword\"><br \/>\n      void<br \/>\n     <\/span><br \/>\n     onSurfaceDestroyed(SurfaceHolder\u00a0holder)\u00a0{\n    <\/li>\n<li class=\"alt\">\n     <span class=\"keyword\"><br \/>\n      super<br \/>\n     <\/span><br \/>\n     .onSurfaceDestroyed(holder);\n    <\/li>\n<li>\n     mHandler.removeMessages(DRAW);\n    <\/li>\n<li class=\"alt\">\n     }\n    <\/li>\n<li>\n    <\/li>\n<li class=\"alt\">\n     <span class=\"annotation\"><br \/>\n      @Override<br \/>\n     <\/span>\n    <\/li>\n<li>\n     <span class=\"keyword\"><br \/>\n      public<br \/>\n     <\/span><br \/>\n     <span class=\"keyword\"><br \/>\n      void<br \/>\n     <\/span><br \/>\n     onTouchEvent(MotionEvent\u00a0event)\u00a0{\n    <\/li>\n<li class=\"alt\">\n     <span class=\"keyword\"><br \/>\n      if<br \/>\n     <\/span><br \/>\n     (event.getAction()\u00a0==\u00a0MotionEvent.ACTION_MOVE\n    <\/li>\n<li>\n     ||\u00a0event.getAction()\u00a0==\u00a0MotionEvent.ACTION_DOWN)\u00a0{\n    <\/li>\n<li class=\"alt\">\n     mTouchX\u00a0=\u00a0event.getX();\n    <\/li>\n<li>\n     mTouchY\u00a0=\u00a0event.getY();\n    <\/li>\n<li class=\"alt\">\n     }<br \/>\n     <span class=\"keyword\"><br \/>\n      else<br \/>\n     <\/span><br \/>\n     {\n    <\/li>\n<li>\n     mTouchX\u00a0=\u00a0&#8211;<br \/>\n     <span class=\"number\"><br \/>\n      1<br \/>\n     <\/span><br \/>\n     ;\n    <\/li>\n<li class=\"alt\">\n     mTouchY\u00a0=\u00a0&#8211;<br \/>\n     <span class=\"number\"><br \/>\n      1<br \/>\n     <\/span><br \/>\n     ;\n    <\/li>\n<li>\n     }\n    <\/li>\n<li class=\"alt\">\n     <span class=\"keyword\"><br \/>\n      super<br \/>\n     <\/span><br \/>\n     .onTouchEvent(event);\n    <\/li>\n<li>\n     }\n    <\/li>\n<li class=\"alt\">\n    <\/li>\n<li>\n     <span class=\"keyword\"><br \/>\n      private<br \/>\n     <\/span><br \/>\n     <span class=\"keyword\"><br \/>\n      void<br \/>\n     <\/span><br \/>\n     drawWall()\u00a0{\n    <\/li>\n<li class=\"alt\">\n     SurfaceHolder\u00a0holder\u00a0=\u00a0getSurfaceHolder();\n    <\/li>\n<li>\n     Canvas\u00a0canvas\u00a0=\u00a0holder.lockCanvas();\n    <\/li>\n<li class=\"alt\">\n     drawTime(canvas);\n    <\/li>\n<li>\n     drawCross(canvas);\n    <\/li>\n<li class=\"alt\">\n     holder.unlockCanvasAndPost(canvas);\n    <\/li>\n<li>\n    <\/li>\n<li class=\"alt\">\n     mHandler.removeMessages(DRAW);\n    <\/li>\n<li>\n     mHandler.sendEmptyMessageDelayed(DRAW,<br \/>\n     <span class=\"number\"><br \/>\n      50<br \/>\n     <\/span><br \/>\n     );\n    <\/li>\n<li class=\"alt\">\n     }\n    <\/li>\n<li>\n    <\/li>\n<li class=\"alt\">\n     <span class=\"keyword\"><br \/>\n      private<br \/>\n     <\/span><br \/>\n     <span class=\"keyword\"><br \/>\n      void<br \/>\n     <\/span><br \/>\n     drawTime(Canvas\u00a0c)\u00a0{\n    <\/li>\n<li>\n     Date\u00a0date\u00a0=<br \/>\n     <span class=\"keyword\"><br \/>\n      new<br \/>\n     <\/span><br \/>\n     Date(System.currentTimeMillis());\n    <\/li>\n<li class=\"alt\">\n     SimpleDateFormat\u00a0sdf\u00a0=<br \/>\n     <span class=\"keyword\"><br \/>\n      new<br \/>\n     <\/span><br \/>\n     SimpleDateFormat(<br \/>\n     <span class=\"string\"><br \/>\n      &#8220;yyyy-MM-dd\u00a0HH:mm:ss&#8221;<br \/>\n     <\/span><br \/>\n     );\n    <\/li>\n<li>\n     String\u00a0strDate\u00a0=\u00a0sdf.format(date);\n    <\/li>\n<li class=\"alt\">\n     c.save();\n    <\/li>\n<li>\n     c.drawColor(<br \/>\n     <span class=\"number\"><br \/>\n      0xff000000<br \/>\n     <\/span><br \/>\n     );\n    <\/li>\n<li class=\"alt\">\n     c.drawText(strDate,\u00a0mLocationX,\u00a0mLocationY,\u00a0mPaint);\n    <\/li>\n<li>\n     <span class=\"keyword\"><br \/>\n      switch<br \/>\n     <\/span><br \/>\n     (mDirection)\u00a0{\n    <\/li>\n<li class=\"alt\">\n     <span class=\"keyword\"><br \/>\n      case<br \/>\n     <\/span><br \/>\n     DIRECTION_1:\n    <\/li>\n<li>\n     mLocationX\u00a0=\u00a0mLocationX\u00a0+\u00a0STEP_X;\n    <\/li>\n<li class=\"alt\">\n     mLocationY\u00a0=\u00a0mLocationY\u00a0&#8211;\u00a0STEP_Y;\n    <\/li>\n<li>\n     <span class=\"keyword\"><br \/>\n      if<br \/>\n     <\/span><br \/>\n     (mLocationY\u00a0&lt;=\u00a0SCOPE_TOP)\u00a0{\n    <\/li>\n<li class=\"alt\">\n     mDirection\u00a0=\u00a0DIRECTION_2;\n    <\/li>\n<li>\n     }\n    <\/li>\n<li class=\"alt\">\n     <span class=\"keyword\"><br \/>\n      break<br \/>\n     <\/span><br \/>\n     ;\n    <\/li>\n<li>\n     <span class=\"keyword\"><br \/>\n      case<br \/>\n     <\/span><br \/>\n     DIRECTION_2:\n    <\/li>\n<li class=\"alt\">\n     mLocationX\u00a0=\u00a0mLocationX\u00a0+\u00a0STEP_X;\n    <\/li>\n<li>\n     mLocationY\u00a0=\u00a0mLocationY\u00a0+\u00a0STEP_Y;\n    <\/li>\n<li class=\"alt\">\n     <span class=\"keyword\"><br \/>\n      if<br \/>\n     <\/span><br \/>\n     (mLocationX\u00a0&gt;=\u00a0SCOPE_RIGHT)\u00a0{\n    <\/li>\n<li>\n     mDirection\u00a0=\u00a0DIRECTION_3;\n    <\/li>\n<li class=\"alt\">\n     }\n    <\/li>\n<li>\n     <span class=\"keyword\"><br \/>\n      break<br \/>\n     <\/span><br \/>\n     ;\n    <\/li>\n<li class=\"alt\">\n     <span class=\"keyword\"><br \/>\n      case<br \/>\n     <\/span><br \/>\n     DIRECTION_3:\n    <\/li>\n<li>\n     mLocationX\u00a0=\u00a0mLocationX\u00a0&#8211;\u00a0STEP_X;\n    <\/li>\n<li class=\"alt\">\n     mLocationY\u00a0=\u00a0mLocationY\u00a0+\u00a0STEP_Y;\n    <\/li>\n<li>\n     <span class=\"keyword\"><br \/>\n      if<br \/>\n     <\/span><br \/>\n     (mLocationY\u00a0&gt;=\u00a0SCOPE_BOTTOM)\u00a0{\n    <\/li>\n<li class=\"alt\">\n     mDirection\u00a0=\u00a0DIRECTION_4;\n    <\/li>\n<li>\n     }\n    <\/li>\n<li class=\"alt\">\n     <span class=\"keyword\"><br \/>\n      break<br \/>\n     <\/span><br \/>\n     ;\n    <\/li>\n<li>\n     <span class=\"keyword\"><br \/>\n      case<br \/>\n     <\/span><br \/>\n     DIRECTION_4:\n    <\/li>\n<li class=\"alt\">\n     mLocationX\u00a0=\u00a0mLocationX\u00a0&#8211;\u00a0STEP_X;\n    <\/li>\n<li>\n     mLocationY\u00a0=\u00a0mLocationY\u00a0&#8211;\u00a0STEP_Y;\n    <\/li>\n<li class=\"alt\">\n     <span class=\"keyword\"><br \/>\n      if<br \/>\n     <\/span><br \/>\n     (mLocationX\u00a0&lt;=\u00a0SCOPE_LEFT)\u00a0{\n    <\/li>\n<li>\n     mDirection\u00a0=\u00a0DIRECTION_1;\n    <\/li>\n<li class=\"alt\">\n     }\n    <\/li>\n<li>\n     <span class=\"keyword\"><br \/>\n      break<br \/>\n     <\/span><br \/>\n     ;\n    <\/li>\n<li class=\"alt\">\n     }\n    <\/li>\n<li>\n     c.restore();\n    <\/li>\n<li class=\"alt\">\n     }\n    <\/li>\n<li>\n    <\/li>\n<li class=\"alt\">\n     <span class=\"keyword\"><br \/>\n      private<br \/>\n     <\/span><br \/>\n     <span class=\"keyword\"><br \/>\n      void<br \/>\n     <\/span><br \/>\n     drawCross(Canvas\u00a0c)\u00a0{\n    <\/li>\n<li>\n     <span class=\"keyword\"><br \/>\n      if<br \/>\n     <\/span><br \/>\n     (mTouchX\u00a0&gt;=<br \/>\n     <span class=\"number\"><br \/>\n      0<br \/>\n     <\/span><br \/>\n     &amp;&amp;\u00a0mTouchY\u00a0&gt;=<br \/>\n     <span class=\"number\"><br \/>\n      0<br \/>\n     <\/span><br \/>\n     )\u00a0{\n    <\/li>\n<li class=\"alt\">\n     c.drawLine(mTouchX\u00a0&#8211;\u00a0RADIUS,\u00a0mTouchY,\u00a0mTouchX\u00a0+\u00a0RADIUS,\n    <\/li>\n<li>\n     mTouchY,\u00a0mPaint);\n    <\/li>\n<li class=\"alt\">\n     c.drawLine(mTouchX,\u00a0mTouchY\u00a0&#8211;\u00a0RADIUS,\u00a0mTouchX,\n    <\/li>\n<li>\n     mTouchY\u00a0+\u00a0RADIUS,\u00a0mPaint);\n    <\/li>\n<li class=\"alt\">\n     }\n    <\/li>\n<li>\n     }\n    <\/li>\n<li class=\"alt\">\n     }\n    <\/li>\n<li>\n     }\n    <\/li>\n<li class=\"alt last\">\n    <\/li>\n<\/ol><\/div>\n<\/p>\n<p>\n <\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>\u8f6c\u81ea\uff1ahttp:\/\/www.ophonesdn.com\/article\/show\/278 OPhone\u52a8\u6001\u58c1\u7eb8 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":215,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8],"tags":[],"class_list":["post-1307","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-8"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.6 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>OPhone\u52a8\u6001\u58c1\u7eb8\u63a2\u7a76 - \u7269\u5ae9\u8f6f\u4ef6\u8d44\u8baf\u7f51<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"http:\/\/www.wunen.com\/index.php\/2025\/04\/25\/ophone\u52a8\u6001\u58c1\u7eb8\u63a2\u7a76\/\" \/>\n<meta property=\"og:locale\" content=\"zh_CN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"OPhone\u52a8\u6001\u58c1\u7eb8\u63a2\u7a76 - \u7269\u5ae9\u8f6f\u4ef6\u8d44\u8baf\u7f51\" \/>\n<meta property=\"og:description\" content=\"\u8f6c\u81ea\uff1ahttp:\/\/www.ophonesdn.com\/article\/show\/278 OPhone\u52a8\u6001\u58c1\u7eb8 [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"http:\/\/www.wunen.com\/index.php\/2025\/04\/25\/ophone\u52a8\u6001\u58c1\u7eb8\u63a2\u7a76\/\" \/>\n<meta property=\"og:site_name\" content=\"\u7269\u5ae9\u8f6f\u4ef6\u8d44\u8baf\u7f51\" \/>\n<meta property=\"article:published_time\" content=\"2025-04-25T04:00:09+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/www.wunen.com\/wp-content\/uploads\/2025\/03\/\u8d44\u8baf.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"260\" \/>\n\t<meta property=\"og:image:height\" content=\"180\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"admin@wunen\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u4f5c\u8005\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin@wunen\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 \u5206\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"http:\/\/www.wunen.com\/index.php\/2025\/04\/25\/ophone%e5%8a%a8%e6%80%81%e5%a3%81%e7%ba%b8%e6%8e%a2%e7%a9%b6\/#article\",\"isPartOf\":{\"@id\":\"http:\/\/www.wunen.com\/index.php\/2025\/04\/25\/ophone%e5%8a%a8%e6%80%81%e5%a3%81%e7%ba%b8%e6%8e%a2%e7%a9%b6\/\"},\"author\":{\"name\":\"admin@wunen\",\"@id\":\"https:\/\/www.wunen.com\/#\/schema\/person\/d5f7a6cf545656a9c90d507e64452db8\"},\"headline\":\"OPhone\u52a8\u6001\u58c1\u7eb8\u63a2\u7a76\",\"datePublished\":\"2025-04-25T04:00:09+00:00\",\"mainEntityOfPage\":{\"@id\":\"http:\/\/www.wunen.com\/index.php\/2025\/04\/25\/ophone%e5%8a%a8%e6%80%81%e5%a3%81%e7%ba%b8%e6%8e%a2%e7%a9%b6\/\"},\"wordCount\":785,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.wunen.com\/#organization\"},\"image\":{\"@id\":\"http:\/\/www.wunen.com\/index.php\/2025\/04\/25\/ophone%e5%8a%a8%e6%80%81%e5%a3%81%e7%ba%b8%e6%8e%a2%e7%a9%b6\/#primaryimage\"},\"thumbnailUrl\":\"http:\/\/www.wunen.com\/wp-content\/uploads\/2025\/03\/\u8d44\u8baf.jpg\",\"articleSection\":[\"\u52a8\u6001\u58c1\u7eb8\"],\"inLanguage\":\"zh-Hans\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"http:\/\/www.wunen.com\/index.php\/2025\/04\/25\/ophone%e5%8a%a8%e6%80%81%e5%a3%81%e7%ba%b8%e6%8e%a2%e7%a9%b6\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"http:\/\/www.wunen.com\/index.php\/2025\/04\/25\/ophone%e5%8a%a8%e6%80%81%e5%a3%81%e7%ba%b8%e6%8e%a2%e7%a9%b6\/\",\"url\":\"http:\/\/www.wunen.com\/index.php\/2025\/04\/25\/ophone%e5%8a%a8%e6%80%81%e5%a3%81%e7%ba%b8%e6%8e%a2%e7%a9%b6\/\",\"name\":\"OPhone\u52a8\u6001\u58c1\u7eb8\u63a2\u7a76 - \u7269\u5ae9\u8f6f\u4ef6\u8d44\u8baf\u7f51\",\"isPartOf\":{\"@id\":\"https:\/\/www.wunen.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"http:\/\/www.wunen.com\/index.php\/2025\/04\/25\/ophone%e5%8a%a8%e6%80%81%e5%a3%81%e7%ba%b8%e6%8e%a2%e7%a9%b6\/#primaryimage\"},\"image\":{\"@id\":\"http:\/\/www.wunen.com\/index.php\/2025\/04\/25\/ophone%e5%8a%a8%e6%80%81%e5%a3%81%e7%ba%b8%e6%8e%a2%e7%a9%b6\/#primaryimage\"},\"thumbnailUrl\":\"http:\/\/www.wunen.com\/wp-content\/uploads\/2025\/03\/\u8d44\u8baf.jpg\",\"datePublished\":\"2025-04-25T04:00:09+00:00\",\"breadcrumb\":{\"@id\":\"http:\/\/www.wunen.com\/index.php\/2025\/04\/25\/ophone%e5%8a%a8%e6%80%81%e5%a3%81%e7%ba%b8%e6%8e%a2%e7%a9%b6\/#breadcrumb\"},\"inLanguage\":\"zh-Hans\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"http:\/\/www.wunen.com\/index.php\/2025\/04\/25\/ophone%e5%8a%a8%e6%80%81%e5%a3%81%e7%ba%b8%e6%8e%a2%e7%a9%b6\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"http:\/\/www.wunen.com\/index.php\/2025\/04\/25\/ophone%e5%8a%a8%e6%80%81%e5%a3%81%e7%ba%b8%e6%8e%a2%e7%a9%b6\/#primaryimage\",\"url\":\"http:\/\/www.wunen.com\/wp-content\/uploads\/2025\/03\/\u8d44\u8baf.jpg\",\"contentUrl\":\"http:\/\/www.wunen.com\/wp-content\/uploads\/2025\/03\/\u8d44\u8baf.jpg\",\"width\":260,\"height\":180},{\"@type\":\"BreadcrumbList\",\"@id\":\"http:\/\/www.wunen.com\/index.php\/2025\/04\/25\/ophone%e5%8a%a8%e6%80%81%e5%a3%81%e7%ba%b8%e6%8e%a2%e7%a9%b6\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u9996\u9875\",\"item\":\"https:\/\/www.wunen.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"OPhone\u52a8\u6001\u58c1\u7eb8\u63a2\u7a76\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.wunen.com\/#website\",\"url\":\"https:\/\/www.wunen.com\/\",\"name\":\"\u7269\u5ae9\u8f6f\u4ef6\u8d44\u8baf\u7f51\",\"description\":\"\u8f6f\u4ef6\u8d44\u8baf\u6765\u7269\u5ae9\",\"publisher\":{\"@id\":\"https:\/\/www.wunen.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.wunen.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"zh-Hans\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.wunen.com\/#organization\",\"name\":\"\u7269\u5ae9\u8f6f\u4ef6\u8d44\u8baf\u7f51\",\"url\":\"https:\/\/www.wunen.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.wunen.com\/#\/schema\/logo\/image\/\",\"url\":\"http:\/\/www.wunen.com\/wp-content\/uploads\/2025\/03\/cropped-\u7269\u5ae9-1.png\",\"contentUrl\":\"http:\/\/www.wunen.com\/wp-content\/uploads\/2025\/03\/cropped-\u7269\u5ae9-1.png\",\"width\":1024,\"height\":1024,\"caption\":\"\u7269\u5ae9\u8f6f\u4ef6\u8d44\u8baf\u7f51\"},\"image\":{\"@id\":\"https:\/\/www.wunen.com\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.wunen.com\/#\/schema\/person\/d5f7a6cf545656a9c90d507e64452db8\",\"name\":\"admin@wunen\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.wunen.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/d90ec1e3faf77c4d4e66e40c29b85ff6401161e0502f401dae2f0e25b38ce25e?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/d90ec1e3faf77c4d4e66e40c29b85ff6401161e0502f401dae2f0e25b38ce25e?s=96&d=mm&r=g\",\"caption\":\"admin@wunen\"},\"sameAs\":[\"http:\/\/www.wunen.com\"],\"url\":\"http:\/\/www.wunen.com\/index.php\/author\/adminwunen\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"OPhone\u52a8\u6001\u58c1\u7eb8\u63a2\u7a76 - \u7269\u5ae9\u8f6f\u4ef6\u8d44\u8baf\u7f51","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"http:\/\/www.wunen.com\/index.php\/2025\/04\/25\/ophone\u52a8\u6001\u58c1\u7eb8\u63a2\u7a76\/","og_locale":"zh_CN","og_type":"article","og_title":"OPhone\u52a8\u6001\u58c1\u7eb8\u63a2\u7a76 - \u7269\u5ae9\u8f6f\u4ef6\u8d44\u8baf\u7f51","og_description":"\u8f6c\u81ea\uff1ahttp:\/\/www.ophonesdn.com\/article\/show\/278 OPhone\u52a8\u6001\u58c1\u7eb8 [&hellip;]","og_url":"http:\/\/www.wunen.com\/index.php\/2025\/04\/25\/ophone\u52a8\u6001\u58c1\u7eb8\u63a2\u7a76\/","og_site_name":"\u7269\u5ae9\u8f6f\u4ef6\u8d44\u8baf\u7f51","article_published_time":"2025-04-25T04:00:09+00:00","og_image":[{"width":260,"height":180,"url":"http:\/\/www.wunen.com\/wp-content\/uploads\/2025\/03\/\u8d44\u8baf.jpg","type":"image\/jpeg"}],"author":"admin@wunen","twitter_card":"summary_large_image","twitter_misc":{"\u4f5c\u8005":"admin@wunen","\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4":"4 \u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"http:\/\/www.wunen.com\/index.php\/2025\/04\/25\/ophone%e5%8a%a8%e6%80%81%e5%a3%81%e7%ba%b8%e6%8e%a2%e7%a9%b6\/#article","isPartOf":{"@id":"http:\/\/www.wunen.com\/index.php\/2025\/04\/25\/ophone%e5%8a%a8%e6%80%81%e5%a3%81%e7%ba%b8%e6%8e%a2%e7%a9%b6\/"},"author":{"name":"admin@wunen","@id":"https:\/\/www.wunen.com\/#\/schema\/person\/d5f7a6cf545656a9c90d507e64452db8"},"headline":"OPhone\u52a8\u6001\u58c1\u7eb8\u63a2\u7a76","datePublished":"2025-04-25T04:00:09+00:00","mainEntityOfPage":{"@id":"http:\/\/www.wunen.com\/index.php\/2025\/04\/25\/ophone%e5%8a%a8%e6%80%81%e5%a3%81%e7%ba%b8%e6%8e%a2%e7%a9%b6\/"},"wordCount":785,"commentCount":0,"publisher":{"@id":"https:\/\/www.wunen.com\/#organization"},"image":{"@id":"http:\/\/www.wunen.com\/index.php\/2025\/04\/25\/ophone%e5%8a%a8%e6%80%81%e5%a3%81%e7%ba%b8%e6%8e%a2%e7%a9%b6\/#primaryimage"},"thumbnailUrl":"http:\/\/www.wunen.com\/wp-content\/uploads\/2025\/03\/\u8d44\u8baf.jpg","articleSection":["\u52a8\u6001\u58c1\u7eb8"],"inLanguage":"zh-Hans","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["http:\/\/www.wunen.com\/index.php\/2025\/04\/25\/ophone%e5%8a%a8%e6%80%81%e5%a3%81%e7%ba%b8%e6%8e%a2%e7%a9%b6\/#respond"]}]},{"@type":"WebPage","@id":"http:\/\/www.wunen.com\/index.php\/2025\/04\/25\/ophone%e5%8a%a8%e6%80%81%e5%a3%81%e7%ba%b8%e6%8e%a2%e7%a9%b6\/","url":"http:\/\/www.wunen.com\/index.php\/2025\/04\/25\/ophone%e5%8a%a8%e6%80%81%e5%a3%81%e7%ba%b8%e6%8e%a2%e7%a9%b6\/","name":"OPhone\u52a8\u6001\u58c1\u7eb8\u63a2\u7a76 - \u7269\u5ae9\u8f6f\u4ef6\u8d44\u8baf\u7f51","isPartOf":{"@id":"https:\/\/www.wunen.com\/#website"},"primaryImageOfPage":{"@id":"http:\/\/www.wunen.com\/index.php\/2025\/04\/25\/ophone%e5%8a%a8%e6%80%81%e5%a3%81%e7%ba%b8%e6%8e%a2%e7%a9%b6\/#primaryimage"},"image":{"@id":"http:\/\/www.wunen.com\/index.php\/2025\/04\/25\/ophone%e5%8a%a8%e6%80%81%e5%a3%81%e7%ba%b8%e6%8e%a2%e7%a9%b6\/#primaryimage"},"thumbnailUrl":"http:\/\/www.wunen.com\/wp-content\/uploads\/2025\/03\/\u8d44\u8baf.jpg","datePublished":"2025-04-25T04:00:09+00:00","breadcrumb":{"@id":"http:\/\/www.wunen.com\/index.php\/2025\/04\/25\/ophone%e5%8a%a8%e6%80%81%e5%a3%81%e7%ba%b8%e6%8e%a2%e7%a9%b6\/#breadcrumb"},"inLanguage":"zh-Hans","potentialAction":[{"@type":"ReadAction","target":["http:\/\/www.wunen.com\/index.php\/2025\/04\/25\/ophone%e5%8a%a8%e6%80%81%e5%a3%81%e7%ba%b8%e6%8e%a2%e7%a9%b6\/"]}]},{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"http:\/\/www.wunen.com\/index.php\/2025\/04\/25\/ophone%e5%8a%a8%e6%80%81%e5%a3%81%e7%ba%b8%e6%8e%a2%e7%a9%b6\/#primaryimage","url":"http:\/\/www.wunen.com\/wp-content\/uploads\/2025\/03\/\u8d44\u8baf.jpg","contentUrl":"http:\/\/www.wunen.com\/wp-content\/uploads\/2025\/03\/\u8d44\u8baf.jpg","width":260,"height":180},{"@type":"BreadcrumbList","@id":"http:\/\/www.wunen.com\/index.php\/2025\/04\/25\/ophone%e5%8a%a8%e6%80%81%e5%a3%81%e7%ba%b8%e6%8e%a2%e7%a9%b6\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u9996\u9875","item":"https:\/\/www.wunen.com\/"},{"@type":"ListItem","position":2,"name":"OPhone\u52a8\u6001\u58c1\u7eb8\u63a2\u7a76"}]},{"@type":"WebSite","@id":"https:\/\/www.wunen.com\/#website","url":"https:\/\/www.wunen.com\/","name":"\u7269\u5ae9\u8f6f\u4ef6\u8d44\u8baf\u7f51","description":"\u8f6f\u4ef6\u8d44\u8baf\u6765\u7269\u5ae9","publisher":{"@id":"https:\/\/www.wunen.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.wunen.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"zh-Hans"},{"@type":"Organization","@id":"https:\/\/www.wunen.com\/#organization","name":"\u7269\u5ae9\u8f6f\u4ef6\u8d44\u8baf\u7f51","url":"https:\/\/www.wunen.com\/","logo":{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.wunen.com\/#\/schema\/logo\/image\/","url":"http:\/\/www.wunen.com\/wp-content\/uploads\/2025\/03\/cropped-\u7269\u5ae9-1.png","contentUrl":"http:\/\/www.wunen.com\/wp-content\/uploads\/2025\/03\/cropped-\u7269\u5ae9-1.png","width":1024,"height":1024,"caption":"\u7269\u5ae9\u8f6f\u4ef6\u8d44\u8baf\u7f51"},"image":{"@id":"https:\/\/www.wunen.com\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.wunen.com\/#\/schema\/person\/d5f7a6cf545656a9c90d507e64452db8","name":"admin@wunen","image":{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.wunen.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/d90ec1e3faf77c4d4e66e40c29b85ff6401161e0502f401dae2f0e25b38ce25e?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/d90ec1e3faf77c4d4e66e40c29b85ff6401161e0502f401dae2f0e25b38ce25e?s=96&d=mm&r=g","caption":"admin@wunen"},"sameAs":["http:\/\/www.wunen.com"],"url":"http:\/\/www.wunen.com\/index.php\/author\/adminwunen\/"}]}},"_links":{"self":[{"href":"http:\/\/www.wunen.com\/index.php\/wp-json\/wp\/v2\/posts\/1307","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.wunen.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.wunen.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.wunen.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.wunen.com\/index.php\/wp-json\/wp\/v2\/comments?post=1307"}],"version-history":[{"count":0,"href":"http:\/\/www.wunen.com\/index.php\/wp-json\/wp\/v2\/posts\/1307\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/www.wunen.com\/index.php\/wp-json\/wp\/v2\/media\/215"}],"wp:attachment":[{"href":"http:\/\/www.wunen.com\/index.php\/wp-json\/wp\/v2\/media?parent=1307"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.wunen.com\/index.php\/wp-json\/wp\/v2\/categories?post=1307"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.wunen.com\/index.php\/wp-json\/wp\/v2\/tags?post=1307"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}