Open cipchk opened 5 years ago
@Anberm 补充一下我完整的 AndroidManifest.xml
内容:
<?xml version='1.0' encoding='utf-8'?>
<manifest android:hardwareAccelerated="true" android:versionCode="2" android:versionName="0.0.2" package="com.xxx.xx" xmlns:android="http://schemas.android.com/apk/res/android">
<supports-screens android:anyDensity="true" android:largeScreens="true" android:normalScreens="true" android:resizeable="true" android:smallScreens="true" android:xlargeScreens="true" />
<application android:hardwareAccelerated="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:networkSecurityConfig="@xml/network_security_config" android:supportsRtl="true" android:usesCleartextTraffic="true">
<activity android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale" android:label="@string/activity_name" android:launchMode="singleTop" android:name="MainActivity" android:theme="@android:style/Theme.DeviceDefault.NoActionBar" android:windowSoftInputMode="adjustResize">
<intent-filter android:label="@string/launcher_name">
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<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="v6mo9z" />
</intent-filter>
</activity>
<provider android:authorities="${applicationId}.opener.provider" android:exported="false" android:grantUriPermissions="true" android:name="io.github.pwlin.cordova.plugins.fileopener2.FileProvider">
<meta-data android:name="android.support.FILE_PROVIDER_PATHS" android:resource="@xml/opener_paths" />
</provider>
<meta-data android:name="com.openinstall.APP_KEY" android:value="v6mo9z" />
<activity android:exported="false" android:name="cn.jpush.android.ui.PopWinActivity" android:theme="@style/MyDialogStyle" />
<activity android:configChanges="orientation|keyboardHidden" android:exported="false" android:name="cn.jpush.android.ui.PushActivity" android:theme="@android:style/Theme.NoTitleBar">
<intent-filter>
<action android:name="cn.jpush.android.ui.PushActivity" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="com.xxx.xx" />
</intent-filter>
</activity>
<service android:exported="false" android:name="cn.jpush.android.service.PushService" android:process=":pushcore">
<intent-filter>
<action android:name="cn.jpush.android.intent.REGISTER" />
<action android:name="cn.jpush.android.intent.REPORT" />
<action android:name="cn.jpush.android.intent.PushService" />
<action android:name="cn.jpush.android.intent.PUSH_TIME" />
</intent-filter>
</service>
<provider android:authorities="com.xxx.xx.DataProvider" android:exported="false" android:name="cn.jpush.android.service.DataProvider" android:process=":pushcore" />
<service android:enabled="true" android:exported="true" android:name="cn.jpush.android.service.DaemonService">
<intent-filter>
<action android:name="cn.jpush.android.intent.DaemonService" />
<category android:name="com.xxx.xx" />
</intent-filter>
</service>
<provider android:authorities="com.xxx.xx.DownloadProvider" android:exported="true" android:name="cn.jpush.android.service.DownloadProvider" />
<receiver android:enabled="true" android:exported="false" android:name="cn.jpush.android.service.PushReceiver">
<intent-filter android:priority="1000">
<action android:name="cn.jpush.android.intent.NOTIFICATION_RECEIVED_PROXY" />
<category android:name="com.xxx.xx" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.USER_PRESENT" />
<action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.PACKAGE_ADDED" />
<action android:name="android.intent.action.PACKAGE_REMOVED" />
<data android:scheme="package" />
</intent-filter>
</receiver>
<receiver android:exported="false" android:name="cn.jpush.android.service.AlarmReceiver" />
<receiver android:name="cn.jiguang.cordova.push.JPushEventReceiver">
<intent-filter>
<action android:name="cn.jpush.android.intent.RECEIVE_MESSAGE" />
<category android:name="com.xxx.xx" />
</intent-filter>
</receiver>
<activity android:exported="true" android:name="cn.jpush.android.service.JNotifyActivity" android:taskAffinity="jpush.custom" android:theme="@android:style/Theme.Translucent.NoTitleBar">
<intent-filter>
<action android:name="cn.jpush.android.intent.JNotifyActivity" />
<category android:name="com.xxx.xx" />
</intent-filter>
</activity>
<service android:name="cn.jiguang.cordova.push.PushService" android:process=":pushcore">
<intent-filter>
<action android:name="cn.jiguang.user.service.action" />
</intent-filter>
</service>
<receiver android:enabled="true" android:exported="false" android:name="cn.jiguang.cordova.push.JPushReceiver">
<intent-filter>
<action android:name="cn.jpush.android.intent.REGISTRATION" />
<action android:name="cn.jpush.android.intent.MESSAGE_RECEIVED" />
<action android:name="cn.jpush.android.intent.NOTIFICATION_RECEIVED" />
<action android:name="cn.jpush.android.intent.NOTIFICATION_OPENED" />
<action android:name="cn.jpush.android.intent.CONNECTION" />
<category android:name="com.xxx.xx" />
</intent-filter>
</receiver>
<meta-data android:name="JPUSH_CHANNEL" android:value="developer-default" />
<meta-data android:name="JPUSH_APPKEY" android:value="xxxxxxxxx" />
</application>
<permission android:name="com.xxx.xx.permission.JPUSH_MESSAGE" android:protectionLevel="signature" />
<uses-permission android:name="$PACKAGE_NAME.permission.JPUSH_MESSAGE" />
<uses-permission android:name="android.permission.RECEIVE_USER_PRESENT" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.MANAGE_DOCUMENTS" />
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
<uses-sdk android:minSdkVersion="19" />
</manifest>
请问我目前还有哪些因素导致无法获取的,目前小米、华为手机都无法获取。
另还有一些相应 libs
的结构如下:
android/app/libs/jcore-android-2.1.2.jar
android/app/libs/jpush-android-3.3.4.jar
app/src/main/java/cn/jiguang/cordova/push/JPushEventReceiver.java
app/src/main/java/cn/jiguang/cordova/push/JPushPlugin.java
app/src/main/java/cn/jiguang/cordova/push/JPushReceiver.java
app/src/main/java/cn/jiguang/cordova/push/PushService.java
之前一直未使用 Andoird Studio 打开过 Ionic4 生成的项目,我不确定是哪里引起的,当我尝试使用 Andoird Studio 打开项目后,竟然可以获取到设备ID了。
细节我无法追溯,但这是一个解决思路之一,希望获取不到设备ID的也可以尝试一下。
同时希望官方要是有时间,可以在这个思路上做一些深入的解析,这样可以让更多的人了解根本因素。
另一点,我不确定是不是我使用的是最新版本的 Ionic,目前 jpush-phonegap-plugin
插件对应的配置无法完全跟 AndroidManifest.xml
自动合并,会出现部件插件所需要的权限无法合并,从而导致有些权限缺失。
WARNING: 如果不按照这个表格,我们将无法帮助你,并将忽略你的问题。
你的运行环境
Andoird
cordova -v
):9.0.0 (cordova-lib@9.0.1)
cordova platform ls
):5.2.5
期望效果
获取到
getRegistrationID
值实际效果
始终无法获取。
重现步骤
以下是获取
getRegistrationID
的动作:尝试以下几种方式,依然无法获取:
getConnectionState
返回0
表明初始化并且连接成功JIGUANG
相关日志,一次完整运行且未获取到值,所产生的日志为: