저는 초심자 인 안드로이드 프로그래머입니다. 인 텐트가 실제로 어떻게 작동하는지 이해하는 데 도움이되도록, 사용자가 원하는 액션과 데이터로 startActivity()를 호출 할 수있는 작은 액티비티를 구성하려고했습니다. "android.intent.action.VIEW"및 "http://www.google.com"을 포함하여 여러 가지 조합을 시도했습니다. 내가 어떤 조합을 사용하든 관계없이 항상 ActivityNotFoundException이 발생합니다. 왜 어떤 아이디어? ActivityNotFound 예외가 계속 발생하는 이유는 무엇입니까?
내에서만 활동의 코드
은 다음과 같습니다 : 단지 '강제 종료'를 접촉 한 후 다음과 같습니다 앱을 시작하는 시간부터 ADB 쉘 로그 캣의public class TestingIntents extends Activity
{
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button goButton = (Button) findViewById(R.id.button);
goButton.setOnClickListener(new ClickListener());
}
private class ClickListener implements OnClickListener
{
@Override
public void onClick(View arg0)
{
String id = ((EditText) findViewById(R.id.intent)).getText().toString();
String data = ((EditText) findViewById(R.id.data)).getText().toString();
Builder builder = new Builder();
builder = builder.path(data);
Uri path = builder.build();
Intent i = new Intent(id, path);
startActivity(i);
}
}
}
결과.
I/ActivityManager(1086):
Starting activity: Intent { act=android.intent.action.
MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=tk.h2g2guy.testin
gIntents/.TestingIntents }
I/ActivityManager(1086): Start proc tk.h2g2guy.testingIntents for activity tk.h
2g2guy.testingIntents/.TestingIntents: pid=4037 uid=10054 gids={}
D/dalvikvm(1006): GC_EXPLICIT freed 289 objects/10960 bytes in 98ms
D/dalvikvm(1006): GC_EXPLICIT freed 47 objects/2088 bytes in 121ms
D/dalvikvm(1006): GC_EXPLICIT freed 2 objects/48 bytes in 109ms
I/ActivityManager(1086): Displayed activity tk.h2g2guy.testingIntents/.TestingI
ntents: 462 ms (total 462 ms)
D/dalvikvm(2300): GC_EXPLICIT freed 1226 objects/61640 bytes in 69ms
I/ActivityManager(1086): Starting activity: Intent { act=android.intent.action.
VIEW dat=http%3A//www.google.com }
D/AndroidRuntime(4037): Shutting down VM
W/dalvikvm(4037): threadid=1: thread exiting with uncaught exception (group=0x4
001d7e0)
E/AndroidRuntime(4037): FATAL EXCEPTION: main
E/AndroidRuntime(4037): android.content.ActivityNotFoundException: No Activity
found to handle Intent { act=android.intent.action.VIEW dat=http%3A//www.google.
com }
E/AndroidRuntime(4037): at android.app.Instrumentation.checkStartActivit
yResult(Instrumentation.java:1408)
E/AndroidRuntime(4037): at android.app.Instrumentation.execStartActivity
(Instrumentation.java:1378)
E/AndroidRuntime(4037): at android.app.Activity.startActivityForResult(A
ctivity.java:2817)
E/AndroidRuntime(4037): at android.app.Activity.startActivity(Activity.j
ava:2923)
E/AndroidRuntime(4037): at tk.h2g2guy.testingIntents.TestingIntents$Clic
kListener.onClick(TestingIntents.java:41)
E/AndroidRuntime(4037): at android.view.View.performClick(View.java:2408
)
E/AndroidRuntime(4037): at android.view.View$PerformClick.run(View.java:
8816)
E/AndroidRuntime(4037): at android.os.Handler.handleCallback(Handler.jav
a:587)
E/AndroidRuntime(4037): at android.os.Handler.dispatchMessage(Handler.ja
va:92)
E/AndroidRuntime(4037): at android.os.Looper.loop(Looper.java:123)
E/AndroidRuntime(4037): at android.app.ActivityThread.main(ActivityThrea
d.java:4627)
E/AndroidRuntime(4037): at java.lang.reflect.Method.invokeNative(Native
Method)
E/AndroidRuntime(4037): at java.lang.reflect.Method.invoke(Method.java:5
21)
E/AndroidRuntime(4037): at com.android.internal.os.ZygoteInit$MethodAndA
rgsCaller.run(ZygoteInit.java:868)
E/AndroidRuntime(4037): at com.android.internal.os.ZygoteInit.main(Zygot
eInit.java:626)
E/AndroidRuntime(4037): at dalvik.system.NativeStart.main(Native Method)
W/ActivityManager(1086): Force finishing activity tk.h2g2guy.testingIntents/.
TestingIntents
W/ActivityManager(1086): Activity pause timeout for HistoryRecord{449d4518 tk.h
2g2guy.testingIntents/.TestingIntents}
I/Process (4037): Sending signal. PID: 4037 SIG: 9
I/ActivityManager(1086): Process tk.h2g2guy.testingIntents (pid 4037) has died.
I/WindowManager(1086): WIN DEATH: Window{44bd4120 tk.h2g2guy.testingIntents/tk.
h2g2guy.testingIntents.TestingIntents paused=false}
그리고 ... 교정을하지 않을 때 일어나는 일입니다. 지적 해 주셔서 고맙습니다. 그러나 실제로 응용 프로그램에서 올바른 양식을 사용했습니다. 아직도 작동하지 않습니다. – Mrrvomun
@ Mrrvomun :'Builder '에 대한 모든 참조를 삭제하고 (필요 없어) 입력 된 텍스트를'Intent'에 넣으십시오. – CommonsWare
데이터 매개 변수의 의미는 무엇입니까? 이클립스는 나에게 오류를 제공하고 두 문자열을 전달하는 생성자를 찾을 수 없습니다. setData 메소드에는 Uri 객체도 필요합니다. – Mrrvomun