中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

實(shí)例詳解androidstudio如何導(dǎo)入.so文件的方法

下面是通過(guò)自己寫的一個(gè)demo,絕對(duì)不是官方demo,來(lái)給大家講述了如何在android studio如何導(dǎo)入.so文件的流程和方法,歡迎大家在下方留言討論指正。

網(wǎng)站建設(shè)公司,為您提供網(wǎng)站建設(shè),網(wǎng)站制作,網(wǎng)頁(yè)設(shè)計(jì)及定制網(wǎng)站建設(shè)服務(wù),專注于企業(yè)網(wǎng)站制作,高端網(wǎng)頁(yè)制作,對(duì)宣傳片制作等多個(gè)行業(yè)擁有豐富的網(wǎng)站建設(shè)經(jīng)驗(yàn)的網(wǎng)站建設(shè)公司。專業(yè)網(wǎng)站設(shè)計(jì),網(wǎng)站優(yōu)化推廣哪家好,專業(yè)seo優(yōu)化排名優(yōu)化,H5建站,響應(yīng)式網(wǎng)站。

1,android studio如何加載極光推送的jar包和.so庫(kù)文件.

2,如何獲取附加字段里的鍵對(duì)應(yīng)的值.

3,如何點(diǎn)擊通知欄通知進(jìn)入webView加載頁(yè)面.

4,如何把推送過(guò)來(lái)的消息進(jìn)行存儲(chǔ),并以listView顯示,便于查看推送歷史.

5,如何點(diǎn)擊listView的item,進(jìn)行網(wǎng)頁(yè)跳轉(zhuǎn),再次進(jìn)入webView加載頁(yè)面.

6,如何為推送設(shè)置免打擾時(shí)段.(copy官方demo).

7,屬性動(dòng)畫效果.

我能寫出這篇文章,也是被極光推送虐了很多遍,就在我要放棄的時(shí)候,終于發(fā)現(xiàn)了問(wèn)題所在,這個(gè)問(wèn)題說(shuō)白了還是我是粗心導(dǎo)致的.至于什么問(wèn)題,一會(huì)再說(shuō).

這篇文章結(jié)尾有我自己寫的一個(gè)demo,大家可以去下載看看,就是下載積分有點(diǎn)多,絕對(duì)不是官方自動(dòng)生成的demo,要說(shuō)唯一的相同點(diǎn),就是設(shè)置免打擾時(shí)段是直接復(fù)制過(guò)來(lái)的,之前被極光折磨時(shí),也找了很多demo子看看,但是那些demo要么是官方原版,要么是稍微改動(dòng)一下,依然換湯不換藥.還花了我很多積分,并且標(biāo)題還說(shuō)是自己寫的demo,我就呵呵了,真的很沒(méi)有良心,我的這個(gè)demo不能說(shuō)多好,但至少不是官方demo并且界面做的還算可以,至少我自己這樣認(rèn)為.再說(shuō)一點(diǎn),我的demo或者這篇文章,差不多適合想用極光推送但不知從何下手的新手,或者像我這樣被虐了很多遍的人,如果你想問(wèn)服務(wù)器端怎么寫,那這篇文章和demo不適合你,估計(jì)你的水平已超過(guò)了我,這篇文章主要說(shuō)利用普通推送,廢話說(shuō)完,進(jìn)入正題.

首先明確一下,想要接收到極光的推送,至少做到什么程度才能接收到或者不報(bào)錯(cuò).有人說(shuō)官方給的demo里的類我需要完全拷貝嗎,或者說(shuō)我需要拷貝幾個(gè)才行?那現(xiàn)在我告訴你,官方demo里的類其實(shí)1個(gè)都不拷貝也能接收到,但前提在于把manifest.xml清單文件配置好才行.下面進(jìn)入第一點(diǎn):

1,android studio如何加載極光推送的jar包和.so庫(kù)文件.

到極光推送的官網(wǎng)上把關(guān)于android版本的推送sdk下載并解壓,如下圖:

實(shí)例詳解android studio如何導(dǎo)入.so文件的方法

liibs目錄里存放的是推送的jar包和支持手機(jī)架構(gòu)的后綴為.so的庫(kù)文件,res目錄里存放的是一些xml文件,和一些圖片,這些文件時(shí)為了接收富媒體消息用的,res目錄里的文件直接拷貝到相應(yīng)目錄即可,libs目錄里的文件就是要主要講的.

實(shí)例詳解android studio如何導(dǎo)入.so文件的方法

這里面默認(rèn)的包含了arm架構(gòu)的各種版本,如果你的手機(jī)或者模擬器的系統(tǒng)架構(gòu)是x86或者mip的,可以去極光官網(wǎng)下載對(duì)應(yīng)版本,還有一個(gè)極光推送sdk 的jar包,android studio如何集成jar文件我之前有篇博客已經(jīng)說(shuō)了,可以翻翻我之前的博客,現(xiàn)在只剩下.so庫(kù)文件怎么加載了,我之前也找了好多種方法,但是最后還是只有1種有用,那就是極光官網(wǎng)提供的那個(gè)方法,:如下圖:

實(shí)例詳解android studio如何導(dǎo)入.so文件的方法實(shí)例詳解android studio如何導(dǎo)入.so文件的方法

完成以上兩步就配置好了jar包和.so庫(kù)文件,本人親測(cè)可用.

2,如何獲取附加字段里的鍵對(duì)應(yīng)的值.打開極光推送官方文檔.如下圖:

實(shí)例詳解android studio如何導(dǎo)入.so文件的方法

實(shí)例詳解android studio如何導(dǎo)入.so文件的方法

實(shí)例詳解android studio如何導(dǎo)入.so文件的方法

以上2個(gè)action和3個(gè)常量就能完成客戶端接收推送部分百分之80的部分,而我的demo就是根據(jù)這2個(gè)action和3個(gè)常量做出來(lái)的,下面是具體怎么使用這些action和常量的截圖:

實(shí)例詳解android studio如何導(dǎo)入.so文件的方法

實(shí)例詳解android studio如何導(dǎo)入.so文件的方法

3,3,如何點(diǎn)擊通知欄通知進(jìn)入webView加載頁(yè)面.

實(shí)現(xiàn)點(diǎn)擊通知欄通知進(jìn)入webView加載頁(yè)面,首先得監(jiān)聽點(diǎn)擊了通知這個(gè)action,并且你得有一個(gè)webView界面,如下圖.

實(shí)例詳解android studio如何導(dǎo)入.so文件的方法

4,如何把推送過(guò)來(lái)的消息進(jìn)行存儲(chǔ),并以listView顯示,便于查看推送歷史.

實(shí)例詳解android studio如何導(dǎo)入.so文件的方法

實(shí)例詳解android studio如何導(dǎo)入.so文件的方法

最終listView顯示的item是這種樣式:

實(shí)例詳解android studio如何導(dǎo)入.so文件的方法

5,如何點(diǎn)擊listView的item,進(jìn)行網(wǎng)頁(yè)跳轉(zhuǎn),再次進(jìn)入webView加載頁(yè)面.

這個(gè)就簡(jiǎn)單了,直接監(jiān)聽onItemClick事件即可:如下圖:

實(shí)例詳解android studio如何導(dǎo)入.so文件的方法

6,如何為推送設(shè)置免打擾時(shí)段.

直接copy官方demo,沒(méi)啥可說(shuō)的,參見官方demo

7,屬性動(dòng)畫效果.

這個(gè)也是我上篇博客說(shuō)過(guò)的,可以翻翻看,我直接把上篇博文的例子當(dāng)做我這次demo的主界面,看起來(lái)還是不錯(cuò)的.

之前說(shuō)到我被虐,其實(shí)都是粗心大意引起的,我在配置manifest.xml文件時(shí),少配置一個(gè)包名,一直給我報(bào)空指針錯(cuò)誤,后來(lái)發(fā)現(xiàn)之后,改了,就一切ok了,關(guān)鍵還是得細(xì)心.,這里展示一下自己已修復(fù)好的完整清單文件.

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
     package="com.example.administrator.jiguangpush"
     android:versionCode="181"
     android:versionName="1.8.1">
  <!--總共有7個(gè)地方需要配置包名,一定不要配置少了!!!!!!!!!!!!!!!!!!!!!-->
  <!-- Required 自定義用來(lái)收發(fā)消息的相關(guān)權(quán)限 -->
  <permission
    android:name="com.example.administrator.jiguangpush.permission.JPUSH_MESSAGE"
    android:protectionLevel="signature"/>
  <!-- Required 一些系統(tǒng)要求的權(quán)限,如訪問(wèn)網(wǎng)絡(luò)等 -->
  <uses-permission android:name="com.example.administrator.jiguangpush.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.WAKE_LOCK"/>
  <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.WRITE_SETTINGS"/>
  <uses-permission android:name="android.permission.VIBRATE"/>
  <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
  <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
  <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
  <!-- Optional for location -->
  <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
  <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
  <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
  <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
  <uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS"/>
  <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"/>
  <application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme">
    <activity
      android:name=".MainActivity"
      android:label="@string/app_name">
      <intent-filter>
        <action android:name="android.intent.action.MAIN"/>
 
        <category android:name="android.intent.category.LAUNCHER"/>
      </intent-filter>
    </activity>
 
    <!-- Required SDK核心功能 直接拷貝 -->
    <activity
      android:name="cn.jpush.android.ui.PushActivity"
      android:configChanges="orientation|keyboardHidden"
      android:exported="false">
      <intent-filter>
        <action android:name="cn.jpush.android.ui.PushActivity"/>
        <category android:name="android.intent.category.DEFAULT"/>
        <category android:name="com.example.administrator.jiguangpush"/>
      </intent-filter>
    </activity>
    <!-- Required SDK核心功能  直接拷貝 -->
    <service
      android:name="cn.jpush.android.service.DownloadService"
      android:enabled="true"
      android:exported="false">
    </service>
    <!-- Required SDK 核心功能 直接拷貝 -->
    <service
      android:name="cn.jpush.android.service.PushService"
      android:enabled="true"
      android:exported="false">
      <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>
    <!-- 可不拷貝 since 1.8.0 option 可選項(xiàng)。用于同一設(shè)備中不同應(yīng)用的JPush服務(wù)相互拉起的功能。 -->
    <!-- 若不啟用該功能可刪除該組件,將不拉起其他應(yīng)用也不能被其他應(yīng)用拉起 -->
    <service
      android:name="cn.jpush.android.service.DaemonService"
      android:enabled="true"
      android:exported="true">
      <intent-filter>
        <action android:name="cn.jpush.android.intent.DaemonService"/>
        <category android:name="com.example.administrator.jiguangpush"/>
      </intent-filter>
    </service>
    <!-- Required SDK核心功能  直接拷貝 -->
    <receiver
      android:name="cn.jpush.android.service.PushReceiver"
      android:enabled="true"
      android:exported="false">
      <intent-filter android:priority="1000">
        <action android:name="cn.jpush.android.intent.NOTIFICATION_RECEIVED_PROXY"/>
        <!-- Required 顯示通知欄 -->
        <category android:name="com.example.administrator.jiguangpush"/>
      </intent-filter>
      <intent-filter>
        <action android:name="android.intent.action.USER_PRESENT"/>
        <action android:name="android.net.conn.CONNECTIVITY_CHANGE"/>
      </intent-filter>
      <!-- Optional -->
      <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>
    <!-- Required SDK核心功能  直接拷貝 -->
    <receiver android:name="cn.jpush.android.service.AlarmReceiver"/>
    <receiver
      android:name=".MyReceiver"
      android:enabled="true"
      android:exported="false">
      <intent-filter>
        <action android:name="cn.jpush.android.intent.REGISTRATION"/>
        <!-- Required 用戶注冊(cè)SDK的intent -->
        <action android:name="cn.jpush.android.intent.UNREGISTRATION"/>
        <action android:name="cn.jpush.android.intent.MESSAGE_RECEIVED"/>
        <!-- Required 用戶接收SDK消息的intent -->
        <action android:name="cn.jpush.android.intent.NOTIFICATION_RECEIVED"/>
        <!-- Required 用戶接收SDK通知欄信息的intent -->
        <action android:name="cn.jpush.android.intent.NOTIFICATION_OPENED"/>
        <!-- Required 用戶打開自定義通知欄的intent -->
        <action android:name="cn.jpush.android.intent.ACTION_RICHPUSH_CALLBACK"/>
        <!-- Optional 用戶接受Rich Push Javascript 回調(diào)函數(shù)的intent -->
        <action android:name="cn.jpush.android.intent.CONNECTION"/>
        <!-- 接收網(wǎng)絡(luò)變化 連接/斷開 since 1.6.3 -->
        <category android:name="com.example.administrator.jiguangpush"/>
      </intent-filter>
    </receiver>
    <!-- Required . Enable it you can get statistics data with channel 要求填寫appKey再拷貝 -->
    <meta-data
      android:name="JPUSH_CHANNEL"
      android:value="developer-default"/>
    <meta-data
      android:name="JPUSH_APPKEY"
      android:value="649d75504a154477a4aaeb32"/>
    <!-- </>值來(lái)自開發(fā)者平臺(tái)取得的AppKey -->
    <activity
      android:name=".NotificationListActivity"
      android:label="@string/title_activity_second">
    </activity>
    <activity
      android:name=".PushTextActivity"
      android:label="@string/title_activity_push_text">
    </activity>
    <activity
      android:name=".SetFreeTimeActivity"
      android:label="@string/title_activity_set_free_time">
    </activity>
    <activity
      android:name=".WebViewActivity"
      android:label="@string/title_activity_web_view">
    </activity>
  </application>
</manifest>

再說(shuō)一下,服務(wù)器界面我只用到普通消息進(jìn)行發(fā)送,自定義消息和富媒體消息都沒(méi)用,最后在上一張服務(wù)器發(fā)送普通消息的圖:

實(shí)例詳解android studio如何導(dǎo)入.so文件的方法

實(shí)例詳解android studio如何導(dǎo)入.so文件的方法

以上就是本次教程的全部?jī)?nèi)容,需要的朋友跟著測(cè)試一下吧,可以把結(jié)果反饋給我們創(chuàng)新互聯(lián),也歡迎大家踴躍投稿。

名稱欄目:實(shí)例詳解androidstudio如何導(dǎo)入.so文件的方法
當(dāng)前地址:http://www.rwnh.cn/article6/pgsgog.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站制作、品牌網(wǎng)站設(shè)計(jì)網(wǎng)站內(nèi)鏈、App開發(fā)面包屑導(dǎo)航、做網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設(shè)
礼泉县| 磐安县| 垦利县| 连南| 张家界市| 闻喜县| 闻喜县| 黎城县| 宽甸| 客服| 公安县| 芜湖市| 上杭县| 阿尔山市| 昌图县| 彰武县| 美姑县| 文登市| 连江县| 九寨沟县| 抚远县| 上思县| 定陶县| 镇平县| 汝城县| 文安县| 长海县| 宾川县| 洛阳市| 盐津县| 竹溪县| 峨眉山市| 丘北县| 伊川县| 济阳县| 三穗县| 珲春市| 南康市| 达孜县| 改则县| 阿荣旗|