[問題] 關於開了新線程 Thead 加入 Activity

看板AndroidDev作者 (overture1928)時間13年前 (2012/12/09 01:09), 編輯推噓4(4014)
留言18則, 5人參與, 最新討論串1/1
各位大大好 小弟想問個問題 麻煩大家教導了 = 爬文之後 發現要開一個新線程 才能在手機連線開網頁的動作 不過執行的時候會出錯 再度爬文 是說要在 Manifest.xml 裡面 加入 Activity 的宣告 我是這樣寫的 String dbUrl="http://www.google.com.tw"; public void btnOn(View v){ new Thread(new Runnable() { @Override public void run() { // TODO Auto-generated method stub Intent i=new Intent(dbUrl); startActivity(i); } }).start(); } // 然後我在 Manifest.xml 裡面 加入了 <activity android:name="i"></activity> 這一句 還是錯誤 可以請問是有什麼地方要修改的嗎 不好意思 求指教了 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 60.244.55.146

12/09 01:14, , 1F
要提供錯誤訊息才有可能看出來吧,單就你的敘述看不出來
12/09 01:14, 1F
補上 Log FATAL EXCEPTION: Thread-11 android.content.ActivityNotFounException: No Activity found to handle Intent{ act=http://www.google.com.tw} ※ 編輯: laiair 來自: 60.244.55.146 (12/09 01:17)

12/09 01:24, , 2F
你是想用內建瀏覽器開網頁的話,不用Thread也不用到
12/09 01:24, 2F

12/09 01:25, , 3F
Android Manifest註冊,你Intent要用
12/09 01:25, 3F

12/09 01:25, , 4F
new Intent(Intent.ACTION_VIEW ,Uri.parse(網址));
12/09 01:25, 4F

12/09 01:36, , 5F
先把Intent和action給搞懂會比較好
12/09 01:36, 5F

12/09 01:38, , 6F
要新開線程通常是因為執行時間過久會block住造成ANR
12/09 01:38, 6F

12/09 01:40, , 7F
或是因為網路存取不能在UI Thread做,但是這跟開瀏覽器
12/09 01:40, 7F

12/09 01:40, , 8F
是兩回事
12/09 01:40, 8F

12/09 01:42, , 9F
所以我建議原PO:1.入手相關書籍 2.google相關教學
12/09 01:42, 9F

12/09 02:15, , 10F
謝謝大大的指教 使用c大的方法已經可以開網頁
12/09 02:15, 10F

12/09 02:15, , 11F
不過還是想要請問一下 如果要註冊Activity的話
12/09 02:15, 11F

12/09 02:15, , 12F
上面要如何修改呢
12/09 02:15, 12F

12/09 02:16, , 13F
也謝謝B大的建議 小弟會好好研究的 謝謝
12/09 02:16, 13F

12/09 10:23, , 14F
Intent it = new Intent();
12/09 10:23, 14F

12/09 10:24, , 15F
it.setClass(xx.this,target.class);startActivity(it)
12/09 10:24, 15F

12/09 10:43, , 16F
可以去官網看一下 intent 的用法
12/09 10:43, 16F

12/09 22:24, , 17F
Manifest.xml要註冊的是activity name 就是你.java的名字
12/09 22:24, 17F

12/09 22:26, , 18F
你所有會intent到的activity都必須去manifest中註冊
12/09 22:26, 18F
文章代碼(AID): #1GmtHDsw (AndroidDev)