Interruzione dell'interface standard URI rotta?

Ho problemi con URI di intenti su un particolare dispositivo, quindi ho provato l'esempio di CommonsWare URLHandler come suggerito qui: Avviando la mia applicazione utilizzando l'URI di intenti e il collegamento ipertestuale URI dell'intentuale sulla sua pagina di esempio non riesce anche a ricall l'applicazione. Il campione dichiara il suo filter d'intenti come questo:

<intent-filter> <action android:name="com.commonsware.android.MY_ACTION" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.BROWSABLE" /> </intent-filter> 

E il collegamento ipertestuale nella pagina web di esempio è:

  • Android - Come verificare se è abilitata l'opzione Sviluppo
  • savedInstanceState è sempre nullo, tuttavia onSaveInstanceState () viene sempre chiamato
  • Allocazione della memory Android
  • Problemi di tastiera che derivano dal cambiamento di orientamento
  • rilevatore di emozioni di riconoscimento vocale android
  • Chiama php webservice risposta json per submit in android
  •  <a href="intent:#Intent;action=com.commonsware.android.MY_ACTION;end">Link back to URLHandler via intent: URL</a> 

    Questo funziona sulla maggior parte dei dispositivi, ma non sull'HTC Amaze 4G, che esegue Android 4.0.3. Quando touch il collegamento, il logcat dà:

     I/PRIME(9029): <CallBackProxy> Send to WebViewClient. I/PRIME(9029): <Browser> Send to HtcLinkifyDispatcher I/ActivityManager(262): START intent from pid 9029 D/MP-Decision(891): Aggress decision engine: Off D/MP-Decision(891): Switch back to normal parameters: Nw=2.700000, Tw=180, Ns=2.100000, Ts=270, Decision_ms=100, Poll_ms=10 V/NfcService(600): setForegroundNdefPush msg = null callback = null D/HtcTelephony(561): requestSetFastDormancy: module=0 mode=0 D/WebViewTimersControl(9029): onBrowserActivityPause D/WebViewTimersControl(9029): Pausing webview timers, view=com.android.browser.BrowserWebView@40e562f8 I/ActivityManager(262): Start proc com.htc.HtcLinkifyDispatcher for activity com.htc.HtcLinkifyDispatcher/.HtcLinkifyDispatcherActivity: pid=11087 uid=1000 gids={1015, 3002, 3001, 3003, 5001, 5003, 3007, 3006, 2001, 1007} D/ConnectivityService(262): onUidRulesChanged(uid=1000, uidRules=0) V/browser(9029): BrowserActivity.onWindowFocusChanged D/HtcLinkifyDispatcherActivity(11087): @@@@@ receive action=com.commonsware.android.MY_ACTION I/HtcAppAssociationsUtils (Dispatcher)(11087): @@@@@ enable by 2 = true I/HtcAppAssociationsUtils (Dispatcher)(11087): @@@@@ method = 0 I/HtcAppAssociationsUtils (Dispatcher)(11087): @@@@@ check enable = true D/MP-Decision(891): Aggress decision engine: On D/ActivityManager(262): Config after re-evaluted by window manager: null D/MP-Decision(891): Switch to aggressive parameters: Nw=1.990000, Tw=140, Ns=1.400000, Ts=190, Decision_ms=50, Poll_ms=10 V/browser(9029): BrowserActivity.onWindowFocusChanged D/HtcTelephony(561): requestSetFastDormancy: module=0 mode=1 W/InputManagerService(262): Window already focused, ignoring focus gain of: com.android.internal.view.IInputMethodClient$Stub$Proxy@40e75100 D/WebViewTimersControl(9029): onBrowserActivityResume D/WebViewTimersControl(9029): Resuming webview timers, view=com.android.browser.BrowserWebView@40e562f8 W/BaseUi(9029): mMainView is already attached to wrapper in attachTabToContentView! W/BaseUi(9029): mContainer is already attached to content in attachTabToContentView! V/NfcService(600): setForegroundNdefPush msg = null callback = android.nfc.INdefPushCallback$Stub$Proxy@40e73470 D/memalloc(9029): /dev/pmem: Unmapping buffer base:0x569c5000 size:4386816 offset:4177920 D/browser(9029): [BrowserActivity::Connectivity_Type] ===== 1 I/ActivityManager(262): No longer want com.htc.providers.settings:remote (pid 10935): hidden #16, adj=15 D/Process(262): killProcessQuiet, pid=10935 D/Process(262): dalvik.system.VMStack.getThreadStackTrace(Native Method) D/ConnectivityService(262): onUidRulesChanged(uid=1000, uidRules=0) D/Process(262): java.lang.Thread.getStackTrace(Thread.java:599) D/Process(262): android.os.Process.killProcessQuiet(Process.java:823) D/Process(262): com.android.server.am.ActivityManagerService.updateOomAdjLocked(ActivityManagerService.java:15132) D/Process(262): com.android.server.am.ActivityManagerService.trimApplications(ActivityManagerService.java:15294) D/Process(262): com.android.server.am.ActivityStack.activityIdleInternal(ActivityStack.java:3450) D/Process(262): com.android.server.am.ActivityManagerService.activityIdle(ActivityManagerService.java:4303) D/Process(262): android.app.ActivityManagerNative.onTransact(ActivityManagerNative.java:362) D/Process(262): com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:1706) D/Process(262): android.os.Binder.execTransact(Binder.java:338) D/Process(262): dalvik.system.NativeStart.run(Native Method) 

    Qualcuno sa cosa sta succedendo con gli URI intenzionali qui? Perché non funziona? E c'è una soluzione?

    Grazie, Simon

  • Eccezione Dead Object di Android
  • ActionBarSherlock non support dialoghi di allarme di tipo light-theme?
  • Espansione di visualizzazione in frammento- Elenchi espandibili Non visualizzati
  • (bisogno di consigli) Parlare con il database MySQL server dalla mia applicazione Android
  • Android: model di ViewHolder e diversi tipi di righe?
  • Android WakeLock
  • One Solution collect form web for “Interruzione dell'interface standard URI rotta?”

    Dal momento che posso replicare questo problema su un HTC One S e non posso replicare questo problema su altri dispositivi ICS / JB, presumo che questo sia un altro risultato della soluzione di avvio di Linkify che HTC ha messo in atto in risposta alle controversie condotte da Apple .

    E c'è una soluzione?

    Se sei in controllo di entrambi i lati (ad esempio, un WebView contenente il collegamento, più l'applicazione che risponde intent URL), puoi manualmente forzare un selezionatore tramite Intent.createChooser() e questo potrebbe funzionare.

    Se, però, si basa su un codice di terze parti (ad es. Un browser Web) per poter aprire l'applicazione su questi dispositivi HTC, credo che tu sia solo avvitato.

    L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.