2017-03-10 64 views
0

我使用phonegap構建,並遇到了有關android上的推送通知的問題。當我打開推送通知時,webview將重新啓動。當我打開推送通知時,webview重新啓動

logcat的,當我啓動應用程序

I/CordovaLog(19411): Changing log level to DEBUG(3) 
I/CordovaActivity(19411): Apache Cordova native platform version 6.1.2 
is starting D/CordovaActivity(19411): CordovaActivity.onCreate() 
D/SystemWebViewEngine(19411): CordovaWebView is running on device made 
by: motorola D/CordovaWebViewImpl(19411): >>> 
loadUrl(file:///android_asset/www/index.html) 
D/CordovaActivity(19411): Started the activity. 
D/CordovaActivity(19411): Resumed the activity. 
D/CordovaWebViewImpl(19411): 
onPageDidNavigate(file:///android_asset/www/index.html) 
D/CordovaWebViewImpl(19411): 
onPageFinished(file:///android_asset/www/index.html) 
D/CordovaNetworkManager(19411): toLower : mobile 
D/CordovaNetworkManager(19411): wifi : wifi 
D/CordovaNetworkManager(19411): Connection Type: 3g 
D/CordovaNetworkManager(19411): Connection Extra Info: internet.movil 
D/CordovaNetworkManager(19411): toLower : mobile 
D/CordovaNetworkManager(19411): wifi : wifi 
D/CordovaNetworkManager(19411): Connection Type: 3g 
D/CordovaNetworkManager(19411): Connection Extra Info: internet.movil 
W/PluginManager(19411): THREAD WARNING: exec() call to 
OneSignalPush.init blocked the main thread for 67ms. Plugin should use 
CordovaInterface.getThreadPool(). 

當我打開通知

D/CordovaActivity(20982): Paused the activity. 
D/CordovaActivity(20982): Stopped the activity. 
D/CordovaActivity(20982): CordovaActivity.onDestroy() 
D/CordovaWebViewImpl(20982): >>> loadUrl(about:blank) 
D/CordovaActivity(20982): CordovaActivity.onDestroy() 
D/CordovaWebViewImpl(20982): >>> loadUrl(about:blank) 
D/CordovaActivity(20982): CordovaActivity.onDestroy() 
D/CordovaWebViewImpl(20982): >>> loadUrl(about:blank) 
I/CordovaLog(22084): Changing log level to DEBUG(3) 
I/CordovaActivity(22084): Apache Cordova native platform version 6.1.2 
is starting D/CordovaActivity(22084): CordovaActivity.onCreate() 
D/SystemWebViewEngine(22084): CordovaWebView is running on device made 
by: motorola D/CordovaWebViewImpl(22084): >>> 
loadUrl(file:///android_asset/www/index.html) 
D/CordovaActivity(22084): Started the activity. 
D/CordovaActivity(22084): Resumed the activity. 
D/CordovaWebViewImpl(22084): 
onPageDidNavigate(file:///android_asset/www/index.html) 
D/CordovaWebViewImpl(22084): 
onPageFinished(file:///android_asset/www/index.html) 
D/CordovaNetworkManager(22084): toLower : mobile 
D/CordovaNetworkManager(22084): wifi : wifi 
D/CordovaNetworkManager(22084): Connection Type: 4g 
D/CordovaNetworkManager(22084): Connection Extra Info: internet.movil 
D/CordovaNetworkManager(22084): toLower : mobile 
D/CordovaNetworkManager(22084): wifi : wifi 
D/CordovaNetworkManager(22084): Connection Type: 4g 
D/CordovaNetworkManager(22084): Connection Extra Info: internet.movil 
W/PluginManager(22084): THREAD WARNING: exec() call to 
OneSignalPush.init blocked the main thread for 99ms. Plugin should use 
CordovaInterface.getThreadPool(). 

已經盡力把下面的喜好和仍然沒有工作。

<preference name="AndroidLaunchMode" value="singleTop" /> 

或者

<preference name="AndroidLaunchMode" value="singleInstance" /> 

我的config.xml

AccessIn Administración德巴里奧斯privados AccessIn隊

<gap:config-file platform="ios" parent="NSPhotoLibraryUsageDescription" overwrite="true"> 
    <string>We are using your photos and camera for profile photos.</string> 
</gap:config-file> 

<!-- Recommend the newest cli but requires cli-5.1.1+ and gradle for Android. --> 
<!-- If the below settings are not compatible with your project set the "PGB ANT" version above. --> 
<preference name="phonegap-version" value="cli-6.4.0" /> 
<preference name="android-build-tool" value="gradle" /> 
<gap:plugin name="onesignal-cordova-plugin" source="npm" spec="^2.0.10" /> 
<plugin name="cordova-plugin-camera" source="npm" spec="~2.2.0" /> 
<plugin name="cordova-plugin-media-capture" source="npm" spec="~1.2.0" /> 
<plugin name="cordova-plugin-console" source="npm" spec="~1.0.2" /> 
<plugin name="cordova-plugin-device" source="npm" spec="~1.1.1" /> 
<plugin name="cordova-plugin-device-orientation" source="npm" spec="~1.0.2" /> 
<plugin name="cordova-plugin-dialogs" source="npm" spec="~1.2.0" /> 
<plugin name="cordova-plugin-file" source="npm" spec="~4.1.1" /> 
<plugin name="cordova-plugin-file-opener2" source="npm" spec="~2.0.1" /> 
<plugin name="cordova-plugin-file-transfer" source="npm" spec="~1.5.0" /> 
<plugin name="cordova-plugin-geolocation" source="npm" spec="~2.1.0" /> 
<plugin name="cordova-plugin-globalization" source="npm" spec="~1.0.3" /> 
<plugin name="cordova-plugin-inappbrowser" source="npm" spec="~1.3.0" /> 
<plugin name="cordova-plugin-media" source="npm" spec="~2.2.0" /> 
<plugin name="cordova-plugin-network-information" source="npm" spec="~1.2.0" /> 
<plugin name="cordova-plugin-splashscreen" source="npm" spec="~4.0.0" /> 
<plugin name="cordova-plugin-statusbar" source="npm" spec="~2.1.2" /> 
<plugin name="cordova-plugin-vibration" source="npm" spec="~2.1.0" /> 
<plugin name="cordova-plugin-whitelist" source="npm" spec="~1.2.1" /> 
<icon src="icon.png" /> 
<splash src="splash.png" /> 
<platform name="android"> 
    <icon platform="android" qualifier="ldpi" src="res/icons/android/icon-36-ldpi.png"/> 
    <icon platform="android" qualifier="mdpi" src="res/icons/android/icon-48-mdpi.png"/> 
    <icon platform="android" qualifier="hdpi" src="res/icons/android/icon-72-hdpi.png"/> 
    <icon platform="android" qualifier="xhdpi" src="res/icons/android/icon-96-xhdpi.png"/> 
    <icon platform="android" qualifier="xxhdpi" src="res/icons/android/icon-144-xxhdpi.png"/> 
    <icon platform="android" qualifier="xxxhdpi" src="res/icons/android/icon-192-xxxhdpi.png"/> 

    <splash platform="android" density="port-ldpi" src="res/screens/android/screen-ldpi-portrait.png" /> 
    <splash platform="android" density="port-mdpi" src="res/screens/android/screen-mdpi-portrait.png" /> 
    <splash platform="android" density="port-hdpi" src="res/screens/android/screen-hdpi-portrait.png" /> 
    <splash platform="android" density="port-xhdpi" src="res/screens/android/screen-xhdpi-portrait.png" /> 
    <splash platform="android" density="land-ldpi" src="res/screens/android/screen-ldpi-landscape.png" /> 
    <splash platform="android" density="land-mdpi" src="res/screens/android/screen-mdpi-landscape.png" /> 
    <splash platform="android" density="land-hdpi" src="res/screens/android/screen-hdpi-landscape.png" /> 
    <splash platform="android" density="land-xhdpi" src="res/screens/android/screen-xhdpi-landscape.png" /> 

    <splash platform="android" qualifier="ldpi" src="res/screens/android/screen-ldpi-portrait.png" /> 
    <splash platform="android" qualifier="mdpi" src="res/screens/android/screen-mdpi-portrait.png" /> 
    <splash platform="android" qualifier="hdpi" src="res/screens/android/screen-hdpi-portrait.png" /> 
    <splash platform="android" qualifier="xhdpi" src="res/screens/android/screen-xhdpi-portrait.png" /> 
</platform> 
<platform name="ios"> 
    <icon platform="ios" src="res/icons/ios/icon-small.png" width="29" height="29" /> 
    <icon platform="ios" src="res/icons/ios/icon-small-2x.png" width="58" height="58" /> 
    <icon platform="ios" src="res/icons/ios/icon-40.png" width="40" height="40" /> 
    <icon platform="ios" src="res/icons/ios/icon-40-2x.png" width="80" height="80" /> 
    <icon platform="ios" src="res/icons/ios/icon-87.png" width="87" height="87" /> 
    <icon platform="ios" src="res/icons/ios/icon-50.png" width="50" height="50" /> 
    <icon platform="ios" src="res/icons/ios/icon-50-2x.png" width="100" height="100" /> 
    <icon platform="ios" src="res/icons/ios/icon.png" width="57" height="57" /> 
    <icon platform="ios" src="res/icons/ios/icon-2x.png" width="114" height="114" /> 
    <icon platform="ios" src="res/icons/ios/icon-60.png" width="60" height="60" /> 
    <icon platform="ios" src="res/icons/ios/icon-60-2x.png" width="120" height="120" /> 
    <icon platform="ios" src="res/icons/ios/icon-60-3x.png" width="180" height="180" /> 
    <icon platform="ios" src="res/icons/ios/icon-72.png" width="72" height="72" /> 
    <icon platform="ios" src="res/icons/ios/icon-72-2x.png" width="144" height="144" /> 
    <icon platform="ios" src="res/icons/ios/icon-76.png" width="76" height="76" /> 
    <icon platform="ios" src="res/icons/ios/icon-76-2x.png" width="152" height="152" /> 

    <splash platform="ios" src="res/screens/ios/screen-iphone-portrait.png" width="320" height="480" /> 
    <splash platform="ios" src="res/screens/ios/screen-iphone-portrait-2x.png" width="640" height="960" /> 
    <splash platform="ios" src="res/screens/ios/screen-iphone-portrait-568h-2x.png" width="640" height="1136" /> 
    <splash platform="ios" src="res/screens/ios/screen-iphone-portrait-667h.png" width="750" height="1334" /> 
    <splash platform="ios" src="res/screens/ios/screen-iphone-portrait-736h.png" width="1242" height="2208" /> 
    <splash platform="ios" src="res/screens/ios/screen-ipad-portrait.png" width="768" height="1024" /> 
    <splash platform="ios" src="res/screens/ios/screen-ipad-portrait-2x.png" width="1536" height="2048" /> 

    <splash platform="ios" src="res/screens/ios/screen-iphone-landscape.png" width="480" height="320" /> 
    <splash platform="ios" src="res/screens/ios/screen-iphone-landscape-2x.png" width="960" height="640" /> 
    <splash platform="ios" src="res/screens/ios/screen-iphone-landscape-568h-2x.png" width="1136" height="640" /> 
    <splash platform="ios" src="res/screens/ios/screen-iphone-landscape-667h.png" width="1334" height="750" /> 
    <splash platform="ios" src="res/screens/ios/screen-iphone-landscape-736h.png" width="2208" height="1242" /> 
    <splash platform="ios" src="res/screens/ios/screen-ipad-landscape.png" width="1024" height="768" /> 
    <splash platform="ios" src="res/screens/ios/screen-ipad-landscape-2x.png" width="2048" height="1536" /> 
</platform> 
<access origin="*" /> 
<access origin="tel:*" launch-external="yes" /> 
<allow-navigation href="*" /> 
<allow-intent href="*" /> 
<allow-intent href="http://*/*" /> 
<allow-intent href="https://*/*" /> 
<allow-intent href="tel:*" /> 
<allow-intent href="sms:*" /> 
<allow-intent href="mailto:*" /> 
<allow-intent href="geo:*" /> 
<allow-intent href="*" /> 
<platform name="android"> 
    <allow-intent href="market:*" /> 
</platform> 
<platform name="ios"> 
    <allow-intent href="itms:*" /> 
    <allow-intent href="itms-apps:*" /> 
</platform> 
<engine name="android" spec="~5.1.1" /> 

我用的PhoneGap構建。

只有在打開通知前打開應用程序時纔會出現問題。如果我從通知中打開應用程序,則一切正常,直到我再次關閉該應用程序。

回答

0

當我使用「cordova-plugin-pushplugin」時,我不得不編輯幾個類,以便在從通知打開應用程序時能夠從索引打開不同的html。

我不得不在PushHandlerActivity.java中編輯方法forceMainActivityReload()添加一個intent,然後在MainActivity.java中獲取該應用程序是否從圖標或通知中打開的意圖。

你可能從這個類和它的方法中得到了一些東西,我不記得它究竟是幹什麼的,但它可能對你有幫助。

+0

問題是我使用PGB,我添加我的config.xml –

相關問題