呼叫Line的功能會使用到「com.linecorp.linesdk.auth.internal.LineAuthenticationActivity」和「com.linecorp.linesdk.auth.internal.LineAuthenticationCallbackActivity」。
可以在aar檔解壓縮後的Library內找到AndroidManifest.xml檔,並用標準Eclipse的方式匯入。
(Line SDK有提供Maven版。但我一樣沒有用。)
在Library內的AndroidManifest檔下有這兩個設定值,將它們完整複製下來、貼到自己的工作專案下,(光是直接import並不夠,)然後每個「android:exported」都改為true。
接著就可以正常使用了。
不要搬移這段設定值,程式依然可以正常執行,但是當進行登入時,系統層的logcat訊息會跳出「Activiy」找不到的警訊然後中斷執行,(在APP層的logcat中看不到。)
還在使用Eclipse的人有興趣可以試試看。
會注意到這點,是因為使用FCM時也碰到類似的情況:必須要把Library中的Manifest檔設定內容搬到APP中的Manifest檔中。
感謝Dandar3寫的說明文件讓我有解決這個問題的基礎。(歡迎大家去Github上拜訪他一下。)
接著就可以正常使用了。
<activity
android:name="com.linecorp.linesdk.auth.internal.LineAuthenticationActivity"
android:configChanges="orientation|screenSize|keyboardHidden"
android:exported="false"
android:launchMode="singleTop"
android:theme="@style/LineSdk_AuthenticationActivity" />
<activity
android:name="com.linecorp.linesdk.auth.internal.LineAuthenticationCallbackActivity"
android:configChanges="orientation|screenSize|keyboardHidden"
android:exported="true" >
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="lineauth" />
</intent-filter>
</activity>
不要搬移這段設定值,程式依然可以正常執行,但是當進行登入時,系統層的logcat訊息會跳出「Activiy」找不到的警訊然後中斷執行,(在APP層的logcat中看不到。)
還在使用Eclipse的人有興趣可以試試看。
會注意到這點,是因為使用FCM時也碰到類似的情況:必須要把Library中的Manifest檔設定內容搬到APP中的Manifest檔中。
感謝Dandar3寫的說明文件讓我有解決這個問題的基礎。(歡迎大家去Github上拜訪他一下。)
沒有留言:
張貼留言