2014-09-05 24 views
0

我想從自定義uri中讀取參數並顯示在應用程序中。我正在從這樣的瀏覽器調用應用程序 「worklight:// this/is/important」 現在我想提取android應用程序中的參數。我在網上看過很多例子。我在我的應用程序的HTML頁面試過這樣:讀取URI來提取參數

Uri data = getIntent().getData(); List<String> params = data.getPathSegments(); String first = params.get(0); String second = params.get(1);

,但我不是成功爲止。 我的錯誤日誌:

Uncaught Exception: Uncaught SyntaxError: Unexpected identifier at 
    (compiled_code):72. 

72線基本上是Uri data = getIntent().getData(); 我已經嘗試了很多方法,但我沒有成功。請讓我知道如何成功傳遞參數並在混合應用程序中讀取它們(工作燈,但現在僅適用於Android)。

清單:

 </intent-filter> 
     <intent-filter> 
      <category android:name="android.intent.category.BROWSABLE" /> 
      <action android:name="android.intent.action.VIEW" /> 
      <action android:name="com.scan.scan.NOTIFICATION"/> 
      <category android:name="android.intent.category.DEFAULT"/> 
      <data android:scheme="worklight"/> 
     </intent-filter> 

scan.java:

公共類掃描擴展CordovaActivity實現WLInitWebFrameworkListener {

@Override 
public void onCreate(Bundle savedInstanceState){ 
    super.onCreate(savedInstanceState); 

    WL.createInstance(this); 

    WL.getInstance().showSplashScreen(this); 

    WL.getInstance().initializeWebFramework(getApplicationContext(), this); 

} 
+0

是的,謝謝你先生。 – user3869280 2014-09-10 15:40:59

+0

嘿,我不是先生...歡迎.. :)快樂編碼... – 2014-09-10 15:43:41

回答

0

嘗試:

Intent intent = getIntent(); Bundle bundle = intent.getExtras(); Uri uri = (Uri)bundle.get(Intent.EXTRA_STREAM);

+0

我仍然得到與getIntent()相同的錯誤;我認爲這個代碼的放置也很重要。你能讓我知道我應該把這個代碼放在哪裏嗎?我是手機新手,並沒有意識到這一點。 – user3869280 2014-09-05 19:45:53

+0

好的,發佈一些更相關的代碼。 – 2014-09-05 19:48:36

+0

我有index.html這是應用程序的主屏幕。作爲worklight的工作方式,這個html頁面是從主java類加載的。讓我知道還需要什麼。謝謝你的時間 – user3869280 2014-09-05 19:54:51