2014-11-19 4 views
0

Я хочу открыть пользовательскую деятельность в setMovementMethod ниже.Деятельность для прослушивания Intent ACTION_VIEW

TextView tx = (TextView)findViewById(R.id.txtHelp); 
tx.setText(Html.fromHtml(getString(R.string.help))); 
tx.setMovementMethod(LinkMovementMethod.getInstance()); 

Я HTML, определенные ссылки, которые при нажатии/нажимается, я хочу, чтобы моя деятельность, чтобы открыть отображение изображения (в зависимости от кликнутой ссылки)

Я смотрел на эту тему handle textview link click in my android app и попытался следуйте используемому ответу. Здесь моя активность в манифесте определена для прослушивания намеренного action.View.

<activity android:name="com.example.metermanager.ImagesActivity"      
    android:screenOrientation="portrait"> 
    <intent-filter> 
     <category android:name="android.intent.category.DEFAULT" /> 
     <action android:name="android.intent.action.VIEW" /> 
     <data android:scheme="com.example.metermanager" /> 
    </intent-filter> 

Вот код операции.

package com.example.metermanager; 
import android.app.Activity; 
import android.os.Bundle; 
import android.util.Log; 

public class ImagesActivity extends Activity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     // TODO Auto-generated method stub 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.images); 

     String text= getIntent().getDataString(); 
     Log.e("link", text); 

    } 
} 

Но нажатие на ссылку вызывает ошибку ниже, пока не определена активность для намерения.

11-19 03:17:04.827: E/InputEventReceiver(1409): Exception dispatching input event. 
11-19 03:17:04.827: E/MessageQueue-JNI(1409): Exception in MessageQueue callback: handleReceiveCallback 
11-19 03:17:04.867: E/MessageQueue-JNI(1409): android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.VIEW dat=here (has extras) } 
11-19 03:17:04.867: E/MessageQueue-JNI(1409): at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1632) 
11-19 03:17:04.867: E/MessageQueue-JNI(1409): at android.app.Instrumentation.execStartActivity(Instrumentation.java:1424) 
11-19 03:17:04.867: E/MessageQueue-JNI(1409): at android.app.Activity.startActivityForResult(Activity.java:3424) 
11-19 03:17:04.867: E/MessageQueue-JNI(1409): at android.app.Activity.startActivityForResult(Activity.java:3385) 
11-19 03:17:04.867: E/MessageQueue-JNI(1409): at android.app.Activity.startActivity(Activity.java:3627) 
11-19 03:17:04.867: E/MessageQueue-JNI(1409): at android.app.Activity.startActivity(Activity.java:3595) 
11-19 03:17:04.867: E/MessageQueue-JNI(1409): at android.text.style.URLSpan.onClick(URLSpan.java:62) 
11-19 03:17:04.867: E/MessageQueue-JNI(1409): at android.text.method.LinkMovementMethod.onTouchEvent(LinkMovementMethod.java:217) 
11-19 03:17:04.867: E/MessageQueue-JNI(1409): at android.widget.TextView.onTouchEvent(TextView.java:7713) 
11-19 03:17:04.867: E/MessageQueue-JNI(1409): at android.view.View.dispatchTouchEvent(View.java:7706) 
11-19 03:17:04.867: E/MessageQueue-JNI(1409): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2216) 
11-19 03:17:04.867: E/MessageQueue-JNI(1409): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1959) 
11-19 03:17:04.867: E/MessageQueue-JNI(1409): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2216) 
11-19 03:17:04.867: E/MessageQueue-JNI(1409): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1959) 
11-19 03:17:04.867: E/MessageQueue-JNI(1409): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2216) 
11-19 03:17:04.867: E/MessageQueue-JNI(1409): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1959) 
11-19 03:17:04.867: E/MessageQueue-JNI(1409): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2216) 
11-19 03:17:04.867: E/MessageQueue-JNI(1409): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1959) 
11-19 03:17:04.867: E/MessageQueue-JNI(1409): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2216) 
11-19 03:17:04.867: E/MessageQueue-JNI(1409): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1959) 
11-19 03:17:04.867: E/MessageQueue-JNI(1409): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2216) 
11-19 03:17:04.867: E/MessageQueue-JNI(1409): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1959) 
11-19 03:17:04.867: E/MessageQueue-JNI(1409): at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:2068) 
11-19 03:17:04.867: E/MessageQueue-JNI(1409): at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1515) 
11-19 03:17:04.867: E/MessageQueue-JNI(1409): at android.app.Activity.dispatchTouchEvent(Activity.java:2458) 
11-19 03:17:04.867: E/MessageQueue-JNI(1409): at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:2016) 
11-19 03:17:04.867: E/MessageQueue-JNI(1409): at android.view.View.dispatchPointerEvent(View.java:7886) 
11-19 03:17:04.867: E/MessageQueue-JNI(1409): at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:3954) 
11-19 03:17:04.867: E/MessageQueue-JNI(1409): at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:3833) 
11-19 03:17:04.867: E/MessageQueue-JNI(1409): at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3399) 
11-19 03:17:04.867: E/MessageQueue-JNI(1409): at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3449) 
11-19 03:17:04.867: E/MessageQueue-JNI(1409): at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3418) 
11-19 03:17:04.867: E/MessageQueue-JNI(1409): at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:3525) 
11-19 03:17:04.867: E/MessageQueue-JNI(1409): at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3426) 
11-19 03:17:04.867: E/MessageQueue-JNI(1409): at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:3582) 
11-19 03:17:04.867: E/MessageQueue-JNI(1409): at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3399) 
11-19 03:17:04.867: E/MessageQueue-JNI(1409): at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3449) 
11-19 03:17:04.867: E/MessageQueue-JNI(1409): at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3418) 
11-19 03:17:04.867: E/MessageQueue-JNI(1409): at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3426) 
11-19 03:17:04.867: E/MessageQueue-JNI(1409): at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3399) 
11-19 03:17:04.867: E/MessageQueue-JNI(1409): at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:5602) 
11-19 03:17:04.867: E/MessageQueue-JNI(1409): at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:5582) 
11-19 03:17:04.867: E/MessageQueue-JNI(1409): at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:5553) 
11-19 03:17:04.867: E/MessageQueue-JNI(1409): at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:5682) 
11-19 03:17:04.867: E/MessageQueue-JNI(1409): at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:185) 
11-19 03:17:04.867: E/MessageQueue-JNI(1409): at android.os.MessageQueue.nativePollOnce(Native Method) 
11-19 03:17:04.867: E/MessageQueue-JNI(1409): at android.os.MessageQueue.next(MessageQueue.java:138) 
11-19 03:17:04.867: E/MessageQueue-JNI(1409): at android.os.Looper.loop(Looper.java:123) 
11-19 03:17:04.867: E/MessageQueue-JNI(1409): at android.app.ActivityThread.main(ActivityThread.java:5017) 
11-19 03:17:04.867: E/MessageQueue-JNI(1409): at java.lang.reflect.Method.invokeNative(Native Method) 
11-19 03:17:04.867: E/MessageQueue-JNI(1409): at java.lang.reflect.Method.invoke(Method.java:515) 
11-19 03:17:04.867: E/MessageQueue-JNI(1409): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779) 
11-19 03:17:04.867: E/MessageQueue-JNI(1409): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595) 
11-19 03:17:04.867: E/MessageQueue-JNI(1409): at dalvik.system.NativeStart.main(Native Method) 
11-19 03:17:04.867: 

Любые причины, по которым он не работает?

Ronald

+0

Не могли бы вы разместить html-текст? –

+0

Я добавил его в качестве редактирования. \t \t \t \t шаги (не в линейном порядке):
\t \t 1: Добавить Метров Meters
\t \t \t \t \t \t ]]> – user3079559

+0

<строка имя =» помощь "> \t \t 1: Добавить Метров Meters
\t \t \t \t \t \t ]]> – user3079559

ответ

1

Что ваш URL ссылки на деятельность.

Ваше объявление схемы данных кажется неправильным.

Попробуйте

<data android:scheme="content" android:host="com.example.metermanager" />

вместо

<data android:scheme="com.example.metermanager" />

В дополнение ваши ссылки не должны быть

<a href="here">

но

<a href="content://com.example.metermanager/some_specific_data">

+0

все еще получаю ту же ошибку – user3079559

+0

, пожалуйста, напишите свой URL-адрес – Udo

+0

, я потерял ... я новичок! .. – user3079559

0

текст справки должен быть, как показано ниже, то его совпадение с ImagesActivity умысел фильтра:

<string name="help">&lt;a href="com.example.metermanager://ImagesActivity">Start ImagesActivity&lt;/a></string> 
+0

попробовал и получил то же самое ошибка. – user3079559

Смежные вопросы