{"id":1970,"date":"2025-05-08T12:00:10","date_gmt":"2025-05-08T04:00:10","guid":{"rendered":"https:\/\/www.wunen.com\/index.php\/2025\/05\/08\/android-%e5%8a%a8%e6%80%81%e5%a3%81%e7%ba%b8%e5%bc%80%e5%8f%91\/"},"modified":"2025-05-08T12:00:10","modified_gmt":"2025-05-08T04:00:10","slug":"android-%e5%8a%a8%e6%80%81%e5%a3%81%e7%ba%b8%e5%bc%80%e5%8f%91","status":"publish","type":"post","link":"http:\/\/www.wunen.com\/index.php\/2025\/05\/08\/android-%e5%8a%a8%e6%80%81%e5%a3%81%e7%ba%b8%e5%bc%80%e5%8f%91\/","title":{"rendered":"android \u52a8\u6001\u58c1\u7eb8\u5f00\u53d1"},"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 atom-one-dark\" id=\"content_views\">\n<p>\n   \u4f5c\u4e3aandroid\u52a8\u6001\u58c1\u7eb8\u5f00\u53d1\uff0c\u5176\u5b9e\u8d28\u5c31\u662f\u4e00\u4e2aservice\u6240\u4ee5\u8fd9\u662f\u4e0d\u9700\u8981activity\u7684\n  <\/p>\n<p>\n   1.\u5728res\/xml\/\u6587\u4ef6\u5939\u4e0b\u7f16\u5199\u4e00\u4e2apager\u7684xml\n  <\/p>\n<p>\n   &lt;?xml version=&#8221;1.0&#8243; encoding=&#8221;utf-8&#8243;?&gt;<br \/>\n   <br \/>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   &lt;wallpaper xmlns:android=&#8221;http:\/\/schemas.android.com\/apk\/res\/android&#8221;<br \/>\n   <br \/>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   android:thumbnail=&#8221;@drawable\/ic_launcher&#8221; \/&gt;<br \/>\n   \n  <\/p>\n<p>\n   \n  <\/p>\n<p>\n   2.\u5728AndroidMainfest.xml\u6587\u4ef6\u5939\u4e0b\uff0c\u5c06activity\u6362\u6210\u6211\u4eec\u5c06\u8981\u5f00\u53d1\u7684\u58c1\u7eb8\u7684service\n  <\/p>\n<p>\n   &lt;application<br \/>\n   <br \/>\n   android:allowBackup=&#8221;true&#8221;<br \/>\n   <br \/>\n   android:icon=&#8221;@drawable\/ic_launcher&#8221;<br \/>\n   <br \/>\n   android:label=&#8221;@string\/app_name&#8221;<br \/>\n   <br \/>\n   android:theme=&#8221;@style\/AppTheme&#8221; &gt;<br \/>\n   <br \/>\n   &lt;service<br \/>\n   <br \/>\n   android:name=&#8221;.LiveWallpaper&#8221;<br \/>\n   <br \/>\n   android:label=&#8221;@string\/app_name&#8221;<br \/>\n   <br \/>\n   android:permission=&#8221;android.permission.BIND_WALLPAPER&#8221; &gt;<\/p>\n<p>\n   &lt;!&#8211; \u4e3a\u5b9e\u65f6\u58c1\u7eb8\u914d\u7f6eintent-filter &#8211;&gt;<br \/>\n   <br \/>\n   &lt;intent-filter&gt;<br \/>\n   <br \/>\n   &lt;action android:name=&#8221;android.service.wallpaper.WallpaperService&#8221; \/&gt;<br \/>\n   <br \/>\n   &lt;\/intent-filter&gt;<br \/>\n   <br \/>\n   &lt;!&#8211; \u4e3a\u5b9e\u65f6\u58c1\u7eb8\u914d\u7f6emeta-data &#8211;&gt;<br \/>\n   <br \/>\n   &lt;meta-data<br \/>\n   <br \/>\n   android:name=&#8221;android.service.wallpaper&#8221;<br \/>\n   <br \/>\n   android:resource=&#8221;@xml\/livewallpaper&#8221; \/&gt;<br \/>\n   <br \/>\n   &lt;\/service&gt;<br \/>\n   <br \/>\n   &lt;\/application&gt;<br \/>\n   \n  <\/p>\n<p>\n   \n  <\/p>\n<p>\n   3.\u7f16\u5199\u6211\u4eec\u7684\u52a8\u6001\u58c1\u7eb8\u6548\u679c\uff0c\u8fd9\u91cc\u9700\u8981\u4e00\u4e2a\u7c7b\uff0c\u7ee7\u627fWallpaperService\n  <\/p>\n<p>\n   public class LiveWallpaper extends WallpaperService {<br \/>\n   <!-- --><br \/>\n   <br \/>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   \/\/ \u5b9e\u73b0WallpaperService\u5fc5\u987b\u5b9e\u73b0\u7684\u62bd\u8c61\u65b9\u6cd5<br \/>\n   <br \/>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   public Engine onCreateEngine() {<br \/>\n   <!-- --><br \/>\n   <br \/>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   \/\/ \u8fd4\u56de\u81ea\u5b9a\u4e49\u7684Engine<br \/>\n   <br \/>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   return new MyEngine();<br \/>\n   <br \/>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   }<\/p>\n<p>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   class MyEngine extends Engine {<br \/>\n   <!-- --><br \/>\n   <br \/>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   \/\/ \u8bb0\u5f55\u7a0b\u5e8f\u754c\u9762\u662f\u5426\u53ef\u89c1<br \/>\n   <br \/>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   private boolean mVisible;<br \/>\n   <br \/>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   \/\/ \u8bb0\u5f55\u5f53\u524d\u5f53\u524d\u7528\u6237\u52a8\u4f5c\u4e8b\u4ef6\u7684\u53d1\u751f\u4f4d\u7f6e<br \/>\n   <br \/>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   private float mTouchX = -1;<br \/>\n   <br \/>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   private float mTouchY = -1;<br \/>\n   <br \/>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   \/\/ \u8bb0\u5f55\u5f53\u524d\u5706\u5708\u7684\u7ed8\u5236\u4f4d\u7f6e<\/p>\n<p>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   \/\/ \u5de6\u4e0a\u89d2\u5750\u6807<br \/>\n   <br \/>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   private float cx1 = 15;<br \/>\n   <br \/>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   private float cy1 = 20;<\/p>\n<p>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   \/\/ \u53f3\u4e0b\u89d2\u5750\u6807<br \/>\n   <br \/>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   private float cx2 = 300;<br \/>\n   <br \/>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   private float cy2 = 380;<\/p>\n<p>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   \/\/ \u53f3\u4e0a\u89d2\u5750\u6807<br \/>\n   <br \/>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   private float cx3 = 300;<br \/>\n   <br \/>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   private float cy3 = 20;<\/p>\n<p>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   \/\/ \u5de6\u4e0b\u89d2\u5750\u6807<br \/>\n   <br \/>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   private float cx4 = 15;<br \/>\n   <br \/>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   private float cy4 = 380;<\/p>\n<p>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   \/\/ \u5b9a\u4e49\u753b\u7b14<br \/>\n   <br \/>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   private Paint mPaint = new Paint();<br \/>\n   <br \/>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   \/\/ \u5b9a\u4e49\u4e00\u4e2aHandler<br \/>\n   <br \/>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   Handler mHandler = new Handler();<br \/>\n   <br \/>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   \/\/ \u5b9a\u4e49\u4e00\u4e2a\u5468\u671f\u6027\u6267\u884c\u7684\u4efb\u52a1<br \/>\n   <br \/>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   private final Runnable drawTarget = new Runnable() {<br \/>\n   <!-- --><br \/>\n   <br \/>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   public void run() {<br \/>\n   <!-- --><br \/>\n   <br \/>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   \/\/ \u52a8\u6001\u5730\u7ed8\u5236\u56fe\u5f62<br \/>\n   <br \/>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   drawFrame();<br \/>\n   <br \/>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   }<br \/>\n   <br \/>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   };<\/p>\n<p>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   @Override<br \/>\n   <br \/>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   public void onCreate(SurfaceHolder surfaceHolder) {<br \/>\n   <!-- --><br \/>\n   <br \/>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   super.onCreate(surfaceHolder);<br \/>\n   <br \/>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   \/\/ \u521d\u59cb\u5316\u753b\u7b14<br \/>\n   <br \/>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   mPaint.setColor(0xffffffff);<br \/>\n   <br \/>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   mPaint.setAntiAlias(true);<br \/>\n   <br \/>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   mPaint.setStrokeWidth(2);<br \/>\n   <br \/>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   mPaint.setStrokeCap(Paint.Cap.ROUND);<br \/>\n   <br \/>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   mPaint.setStyle(Paint.Style.STROKE);<br \/>\n   <br \/>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   \/\/ \u8bbe\u7f6e\u5904\u7406\u89e6\u6478\u4e8b\u4ef6<br \/>\n   <br \/>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   setTouchEventsEnabled(true);<br \/>\n   <br \/>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   }<\/p>\n<p>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   @Override<br \/>\n   <br \/>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   public void onDestroy() {<br \/>\n   <!-- --><br \/>\n   <br \/>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   super.onDestroy();<br \/>\n   <br \/>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   \/\/ \u5220\u9664\u56de\u8c03<br \/>\n   <br \/>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   mHandler.removeCallbacks(drawTarget);<br \/>\n   <br \/>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   }<\/p>\n<p>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   @Override<br \/>\n   <br \/>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   public void onVisibilityChanged(boolean visible) {<br \/>\n   <!-- --><br \/>\n   <br \/>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   mVisible = visible;<br \/>\n   <br \/>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   \/\/ \u5f53\u754c\u9762\u53ef\u89c1\u65f6\u5019\uff0c\u6267\u884cdrawFrame()\u65b9\u6cd5\u3002<br \/>\n   <br \/>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   if (visible) {<br \/>\n   <!-- --><br \/>\n   <br \/>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   \/\/ \u52a8\u6001\u5730\u7ed8\u5236\u56fe\u5f62<br \/>\n   <br \/>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   drawFrame();<br \/>\n   <br \/>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   } else {<br \/>\n   <!-- --><br \/>\n   <br \/>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   \/\/ \u5982\u679c\u754c\u9762\u4e0d\u53ef\u89c1\uff0c\u5220\u9664\u56de\u8c03<br \/>\n   <br \/>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   mHandler.removeCallbacks(drawTarget);<br \/>\n   <br \/>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   }<br \/>\n   <br \/>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   }<\/p>\n<p>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   public void onOffsetsChanged(float xOffset, float yOffset, float xStep,<br \/>\n   <br \/>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   float yStep, int xPixels, int yPixels) {<br \/>\n   <!-- --><br \/>\n   <br \/>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   drawFrame();<br \/>\n   <br \/>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   }<\/p>\n<p>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   public void onTouchEvent(MotionEvent event) {<br \/>\n   <!-- --><br \/>\n   <br \/>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   \/\/ \u5982\u679c\u68c0\u6d4b\u5230\u6ed1\u52a8\u64cd\u4f5c<br \/>\n   <br \/>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   if (event.getAction() == MotionEvent.ACTION_MOVE) {<br \/>\n   <!-- --><br \/>\n   <br \/>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   mTouchX = event.getX();<br \/>\n   <br \/>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   mTouchY = event.getY();<br \/>\n   <br \/>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   } else {<br \/>\n   <!-- --><br \/>\n   <br \/>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   mTouchX = -1;<br \/>\n   <br \/>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   mTouchY = -1;<br \/>\n   <br \/>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   }<br \/>\n   <br \/>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   super.onTouchEvent(event);<br \/>\n   <br \/>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   }<\/p>\n<p>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   \/\/ \u5b9a\u4e49\u7ed8\u5236\u56fe\u5f62\u7684\u5de5\u5177\u65b9\u6cd5<br \/>\n   <br \/>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   private void drawFrame() {<br \/>\n   <!-- --><br \/>\n   <br \/>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   \/\/ \u83b7\u53d6\u8be5\u58c1\u7eb8\u7684SurfaceHolder<br \/>\n   <br \/>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   final SurfaceHolder holder = getSurfaceHolder();<br \/>\n   <br \/>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   Canvas c = null;<br \/>\n   <br \/>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   try {<br \/>\n   <!-- --><br \/>\n   <br \/>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   \/\/ \u5bf9\u753b\u5e03\u52a0\u9501<br \/>\n   <br \/>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   c = holder.lockCanvas();<br \/>\n   <br \/>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   if (c != null) {<br \/>\n   <!-- --><br \/>\n   <br \/>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   c.save();<br \/>\n   <br \/>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   \/\/ \u7ed8\u5236\u80cc\u666f\u8272<br \/>\n   <br \/>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   c.drawColor(0xff000000);<br \/>\n   <br \/>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   \/\/ \u5728\u89e6\u78b0\u70b9\u7ed8\u5236\u5706\u5708<br \/>\n   <br \/>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   drawTouchPoint(c);<\/p>\n<p>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   \/\/ \u7ed8\u5236\u5706\u5708<br \/>\n   <br \/>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   c.drawCircle(cx1, cy1, 80, mPaint);<br \/>\n   <br \/>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   c.drawCircle(cx2, cy2, 40, mPaint);<br \/>\n   <br \/>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   c.drawCircle(cx3, cy3, 50, mPaint);<br \/>\n   <br \/>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   c.drawCircle(cx4, cy4, 60, mPaint);<br \/>\n   <br \/>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   c.restore();<br \/>\n   <br \/>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   }<br \/>\n   <br \/>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   } finally {<br \/>\n   <!-- --><br \/>\n   <br \/>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   if (c != null)<br \/>\n   <br \/>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   holder.unlockCanvasAndPost(c);<br \/>\n   <br \/>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   }<br \/>\n   <br \/>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   mHandler.removeCallbacks(drawTarget);<br \/>\n   <br \/>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   \/\/ \u8c03\u5ea6\u4e0b\u4e00\u6b21\u91cd\u7ed8<br \/>\n   <br \/>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   if (mVisible) {<br \/>\n   <!-- --><br \/>\n   <br \/>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   cx1 += 6;<br \/>\n   <br \/>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   cy1 += 8;<br \/>\n   <br \/>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   \/\/ \u5982\u679ccx1\u3001cy1\u79fb\u51fa\u5c4f\u5e55\u540e\u4ece\u5de6\u4e0a\u89d2\u91cd\u65b0\u5f00\u59cb<br \/>\n   <br \/>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   if (cx1 &gt; 320)<br \/>\n   <br \/>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   cx1 = 15;<br \/>\n   <br \/>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   if (cy1 &gt; 400)<br \/>\n   <br \/>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   cy1 = 20;<\/p>\n<p>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   cx2 -= 6;<br \/>\n   <br \/>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   cy2 -= 8;<br \/>\n   <br \/>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   \/\/ \u5982\u679ccx2\u3001cy2\u79fb\u51fa\u5c4f\u5e55\u540e\u4ece\u53f3\u4e0b\u89d2\u91cd\u65b0\u5f00\u59cb<br \/>\n   <br \/>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   if (cx2 &lt; 15)<br \/>\n   <br \/>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   cx2 = 300;<br \/>\n   <br \/>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   if (cy2 &lt; 20)<br \/>\n   <br \/>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   cy2 = 380;<\/p>\n<p>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   cx3 -= 6;<br \/>\n   <br \/>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   cy3 += 8;<br \/>\n   <br \/>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   \/\/ \u5982\u679ccx3\u3001cy3\u79fb\u51fa\u5c4f\u5e55\u540e\u4ece\u53f3\u4e0a\u89d2\u91cd\u65b0\u5f00\u59cb<br \/>\n   <br \/>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   if (cx3 &lt; 0)<br \/>\n   <br \/>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   cx3 = 300;<br \/>\n   <br \/>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   if (cy3 &gt; 400)<br \/>\n   <br \/>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   cy3 = 20;<\/p>\n<p>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   cx4 += 6;<br \/>\n   <br \/>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   cy4 -= 8;<br \/>\n   <br \/>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   \/\/ \u5982\u679ccx4\u3001cy4\u79fb\u51fa\u5c4f\u5e55\u540e\u4ece\u5de6\u4e0b\u89d2\u91cd\u65b0\u5f00\u59cb<br \/>\n   <br \/>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   if (cx4 &gt; 320)<br \/>\n   <br \/>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   cx4 = 15;<br \/>\n   <br \/>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   if (cy4 &lt; 0)<br \/>\n   <br \/>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   cy4 = 380;<\/p>\n<p>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   \/\/ \u6307\u5b9a0.1\u79d2\u540e\u91cd\u65b0\u6267\u884cmDrawCube\u4e00\u6b21<br \/>\n   <br \/>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   mHandler.postDelayed(drawTarget, 100);<br \/>\n   <br \/>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   }<br \/>\n   <br \/>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   }<\/p>\n<p>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   \/\/ \u5728\u5c4f\u5e55\u89e6\u78b0\u70b9\u7ed8\u5236\u5706\u5708<br \/>\n   <br \/>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   private void drawTouchPoint(Canvas c) {<br \/>\n   <!-- --><br \/>\n   <br \/>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   if (mTouchX &gt;= 0 &amp;&amp; mTouchY &gt;= 0) {<br \/>\n   <!-- --><br \/>\n   <br \/>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   c.drawCircle(mTouchX, mTouchY, 40, mPaint);<br \/>\n   <br \/>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   }<br \/>\n   <br \/>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   }<br \/>\n   <br \/>\n   <span style=\"white-space:pre\"><br \/>\n   <\/span><br \/>\n   }<br \/>\n   <br \/>\n   }<br \/>\n   \n  <\/p>\n<\/p><\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>\u4f5c\u4e3aandroid\u52a8\u6001\u58c1\u7eb8\u5f00\u53d1\uff0c\u5176\u5b9e\u8d28\u5c31\u662f\u4e00\u4e2aservice\u6240\u4ee5\u8fd9\u662f\u4e0d\u9700\u8981activity\u7684 1.\u5728res\/x [&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-1970","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>android \u52a8\u6001\u58c1\u7eb8\u5f00\u53d1 - \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\/05\/08\/android-\u52a8\u6001\u58c1\u7eb8\u5f00\u53d1\/\" \/>\n<meta property=\"og:locale\" content=\"zh_CN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"android \u52a8\u6001\u58c1\u7eb8\u5f00\u53d1 - \u7269\u5ae9\u8f6f\u4ef6\u8d44\u8baf\u7f51\" \/>\n<meta property=\"og:description\" content=\"\u4f5c\u4e3aandroid\u52a8\u6001\u58c1\u7eb8\u5f00\u53d1\uff0c\u5176\u5b9e\u8d28\u5c31\u662f\u4e00\u4e2aservice\u6240\u4ee5\u8fd9\u662f\u4e0d\u9700\u8981activity\u7684 1.\u5728res\/x [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"http:\/\/www.wunen.com\/index.php\/2025\/05\/08\/android-\u52a8\u6001\u58c1\u7eb8\u5f00\u53d1\/\" \/>\n<meta property=\"og:site_name\" content=\"\u7269\u5ae9\u8f6f\u4ef6\u8d44\u8baf\u7f51\" \/>\n<meta property=\"article:published_time\" content=\"2025-05-08T04:00:10+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=\"2 \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\/05\/08\/android-%e5%8a%a8%e6%80%81%e5%a3%81%e7%ba%b8%e5%bc%80%e5%8f%91\/#article\",\"isPartOf\":{\"@id\":\"http:\/\/www.wunen.com\/index.php\/2025\/05\/08\/android-%e5%8a%a8%e6%80%81%e5%a3%81%e7%ba%b8%e5%bc%80%e5%8f%91\/\"},\"author\":{\"name\":\"admin@wunen\",\"@id\":\"http:\/\/www.wunen.com\/#\/schema\/person\/d5f7a6cf545656a9c90d507e64452db8\"},\"headline\":\"android \u52a8\u6001\u58c1\u7eb8\u5f00\u53d1\",\"datePublished\":\"2025-05-08T04:00:10+00:00\",\"mainEntityOfPage\":{\"@id\":\"http:\/\/www.wunen.com\/index.php\/2025\/05\/08\/android-%e5%8a%a8%e6%80%81%e5%a3%81%e7%ba%b8%e5%bc%80%e5%8f%91\/\"},\"wordCount\":415,\"commentCount\":0,\"publisher\":{\"@id\":\"http:\/\/www.wunen.com\/#organization\"},\"image\":{\"@id\":\"http:\/\/www.wunen.com\/index.php\/2025\/05\/08\/android-%e5%8a%a8%e6%80%81%e5%a3%81%e7%ba%b8%e5%bc%80%e5%8f%91\/#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\/05\/08\/android-%e5%8a%a8%e6%80%81%e5%a3%81%e7%ba%b8%e5%bc%80%e5%8f%91\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"http:\/\/www.wunen.com\/index.php\/2025\/05\/08\/android-%e5%8a%a8%e6%80%81%e5%a3%81%e7%ba%b8%e5%bc%80%e5%8f%91\/\",\"url\":\"http:\/\/www.wunen.com\/index.php\/2025\/05\/08\/android-%e5%8a%a8%e6%80%81%e5%a3%81%e7%ba%b8%e5%bc%80%e5%8f%91\/\",\"name\":\"android \u52a8\u6001\u58c1\u7eb8\u5f00\u53d1 - \u7269\u5ae9\u8f6f\u4ef6\u8d44\u8baf\u7f51\",\"isPartOf\":{\"@id\":\"http:\/\/www.wunen.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"http:\/\/www.wunen.com\/index.php\/2025\/05\/08\/android-%e5%8a%a8%e6%80%81%e5%a3%81%e7%ba%b8%e5%bc%80%e5%8f%91\/#primaryimage\"},\"image\":{\"@id\":\"http:\/\/www.wunen.com\/index.php\/2025\/05\/08\/android-%e5%8a%a8%e6%80%81%e5%a3%81%e7%ba%b8%e5%bc%80%e5%8f%91\/#primaryimage\"},\"thumbnailUrl\":\"http:\/\/www.wunen.com\/wp-content\/uploads\/2025\/03\/\u8d44\u8baf.jpg\",\"datePublished\":\"2025-05-08T04:00:10+00:00\",\"breadcrumb\":{\"@id\":\"http:\/\/www.wunen.com\/index.php\/2025\/05\/08\/android-%e5%8a%a8%e6%80%81%e5%a3%81%e7%ba%b8%e5%bc%80%e5%8f%91\/#breadcrumb\"},\"inLanguage\":\"zh-Hans\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"http:\/\/www.wunen.com\/index.php\/2025\/05\/08\/android-%e5%8a%a8%e6%80%81%e5%a3%81%e7%ba%b8%e5%bc%80%e5%8f%91\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"http:\/\/www.wunen.com\/index.php\/2025\/05\/08\/android-%e5%8a%a8%e6%80%81%e5%a3%81%e7%ba%b8%e5%bc%80%e5%8f%91\/#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\/05\/08\/android-%e5%8a%a8%e6%80%81%e5%a3%81%e7%ba%b8%e5%bc%80%e5%8f%91\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u9996\u9875\",\"item\":\"http:\/\/www.wunen.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"android \u52a8\u6001\u58c1\u7eb8\u5f00\u53d1\"}]},{\"@type\":\"WebSite\",\"@id\":\"http:\/\/www.wunen.com\/#website\",\"url\":\"http:\/\/www.wunen.com\/\",\"name\":\"\u7269\u5ae9\u8f6f\u4ef6\u8d44\u8baf\u7f51\",\"description\":\"\u8f6f\u4ef6\u8d44\u8baf\u6765\u7269\u5ae9\",\"publisher\":{\"@id\":\"http:\/\/www.wunen.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"http:\/\/www.wunen.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"zh-Hans\"},{\"@type\":\"Organization\",\"@id\":\"http:\/\/www.wunen.com\/#organization\",\"name\":\"\u7269\u5ae9\u8f6f\u4ef6\u8d44\u8baf\u7f51\",\"url\":\"http:\/\/www.wunen.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"http:\/\/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\":\"http:\/\/www.wunen.com\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"http:\/\/www.wunen.com\/#\/schema\/person\/d5f7a6cf545656a9c90d507e64452db8\",\"name\":\"admin@wunen\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"http:\/\/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":"android \u52a8\u6001\u58c1\u7eb8\u5f00\u53d1 - \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\/05\/08\/android-\u52a8\u6001\u58c1\u7eb8\u5f00\u53d1\/","og_locale":"zh_CN","og_type":"article","og_title":"android \u52a8\u6001\u58c1\u7eb8\u5f00\u53d1 - \u7269\u5ae9\u8f6f\u4ef6\u8d44\u8baf\u7f51","og_description":"\u4f5c\u4e3aandroid\u52a8\u6001\u58c1\u7eb8\u5f00\u53d1\uff0c\u5176\u5b9e\u8d28\u5c31\u662f\u4e00\u4e2aservice\u6240\u4ee5\u8fd9\u662f\u4e0d\u9700\u8981activity\u7684 1.\u5728res\/x [&hellip;]","og_url":"http:\/\/www.wunen.com\/index.php\/2025\/05\/08\/android-\u52a8\u6001\u58c1\u7eb8\u5f00\u53d1\/","og_site_name":"\u7269\u5ae9\u8f6f\u4ef6\u8d44\u8baf\u7f51","article_published_time":"2025-05-08T04:00:10+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":"2 \u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"http:\/\/www.wunen.com\/index.php\/2025\/05\/08\/android-%e5%8a%a8%e6%80%81%e5%a3%81%e7%ba%b8%e5%bc%80%e5%8f%91\/#article","isPartOf":{"@id":"http:\/\/www.wunen.com\/index.php\/2025\/05\/08\/android-%e5%8a%a8%e6%80%81%e5%a3%81%e7%ba%b8%e5%bc%80%e5%8f%91\/"},"author":{"name":"admin@wunen","@id":"http:\/\/www.wunen.com\/#\/schema\/person\/d5f7a6cf545656a9c90d507e64452db8"},"headline":"android \u52a8\u6001\u58c1\u7eb8\u5f00\u53d1","datePublished":"2025-05-08T04:00:10+00:00","mainEntityOfPage":{"@id":"http:\/\/www.wunen.com\/index.php\/2025\/05\/08\/android-%e5%8a%a8%e6%80%81%e5%a3%81%e7%ba%b8%e5%bc%80%e5%8f%91\/"},"wordCount":415,"commentCount":0,"publisher":{"@id":"http:\/\/www.wunen.com\/#organization"},"image":{"@id":"http:\/\/www.wunen.com\/index.php\/2025\/05\/08\/android-%e5%8a%a8%e6%80%81%e5%a3%81%e7%ba%b8%e5%bc%80%e5%8f%91\/#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\/05\/08\/android-%e5%8a%a8%e6%80%81%e5%a3%81%e7%ba%b8%e5%bc%80%e5%8f%91\/#respond"]}]},{"@type":"WebPage","@id":"http:\/\/www.wunen.com\/index.php\/2025\/05\/08\/android-%e5%8a%a8%e6%80%81%e5%a3%81%e7%ba%b8%e5%bc%80%e5%8f%91\/","url":"http:\/\/www.wunen.com\/index.php\/2025\/05\/08\/android-%e5%8a%a8%e6%80%81%e5%a3%81%e7%ba%b8%e5%bc%80%e5%8f%91\/","name":"android \u52a8\u6001\u58c1\u7eb8\u5f00\u53d1 - \u7269\u5ae9\u8f6f\u4ef6\u8d44\u8baf\u7f51","isPartOf":{"@id":"http:\/\/www.wunen.com\/#website"},"primaryImageOfPage":{"@id":"http:\/\/www.wunen.com\/index.php\/2025\/05\/08\/android-%e5%8a%a8%e6%80%81%e5%a3%81%e7%ba%b8%e5%bc%80%e5%8f%91\/#primaryimage"},"image":{"@id":"http:\/\/www.wunen.com\/index.php\/2025\/05\/08\/android-%e5%8a%a8%e6%80%81%e5%a3%81%e7%ba%b8%e5%bc%80%e5%8f%91\/#primaryimage"},"thumbnailUrl":"http:\/\/www.wunen.com\/wp-content\/uploads\/2025\/03\/\u8d44\u8baf.jpg","datePublished":"2025-05-08T04:00:10+00:00","breadcrumb":{"@id":"http:\/\/www.wunen.com\/index.php\/2025\/05\/08\/android-%e5%8a%a8%e6%80%81%e5%a3%81%e7%ba%b8%e5%bc%80%e5%8f%91\/#breadcrumb"},"inLanguage":"zh-Hans","potentialAction":[{"@type":"ReadAction","target":["http:\/\/www.wunen.com\/index.php\/2025\/05\/08\/android-%e5%8a%a8%e6%80%81%e5%a3%81%e7%ba%b8%e5%bc%80%e5%8f%91\/"]}]},{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"http:\/\/www.wunen.com\/index.php\/2025\/05\/08\/android-%e5%8a%a8%e6%80%81%e5%a3%81%e7%ba%b8%e5%bc%80%e5%8f%91\/#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\/05\/08\/android-%e5%8a%a8%e6%80%81%e5%a3%81%e7%ba%b8%e5%bc%80%e5%8f%91\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u9996\u9875","item":"http:\/\/www.wunen.com\/"},{"@type":"ListItem","position":2,"name":"android \u52a8\u6001\u58c1\u7eb8\u5f00\u53d1"}]},{"@type":"WebSite","@id":"http:\/\/www.wunen.com\/#website","url":"http:\/\/www.wunen.com\/","name":"\u7269\u5ae9\u8f6f\u4ef6\u8d44\u8baf\u7f51","description":"\u8f6f\u4ef6\u8d44\u8baf\u6765\u7269\u5ae9","publisher":{"@id":"http:\/\/www.wunen.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"http:\/\/www.wunen.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"zh-Hans"},{"@type":"Organization","@id":"http:\/\/www.wunen.com\/#organization","name":"\u7269\u5ae9\u8f6f\u4ef6\u8d44\u8baf\u7f51","url":"http:\/\/www.wunen.com\/","logo":{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"http:\/\/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":"http:\/\/www.wunen.com\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"http:\/\/www.wunen.com\/#\/schema\/person\/d5f7a6cf545656a9c90d507e64452db8","name":"admin@wunen","image":{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"http:\/\/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\/1970","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=1970"}],"version-history":[{"count":0,"href":"http:\/\/www.wunen.com\/index.php\/wp-json\/wp\/v2\/posts\/1970\/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=1970"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.wunen.com\/index.php\/wp-json\/wp\/v2\/categories?post=1970"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.wunen.com\/index.php\/wp-json\/wp\/v2\/tags?post=1970"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}