當前位置:首頁 » 安卓系統 » androidoriginal

androidoriginal

發布時間: 2022-09-08 05:02:48

㈠ 怎樣查看android的apk文件的簽名

以下介紹查看自己的應用簽名及三方APK或系統APK簽名信息,包含其中的MD5、SHA1、SHA256值和簽名演算法等信息。

1、查看自己的應用簽名
可以通過兩種方式查看
(1) debug的apk通過Eclipse查看,如下圖:

可以查看簽名的MD5、SHA1、SHA256值及簽名演算法

㈡ 刺客信條ANDROID提示THIS IS NOT THE ORIGINAL COPY 怎麼處理

將主程序刪除。然後關閉所有網路連接{gprs,3g,wifi}。
然後重新安裝。再進入游戲即可。數據包不必刪除。
進入游戲後只要不出現「THIS IS NOT THE ORIGINAL COPY」就可以打開網路了。
註:若沒有提前下載好數據包,進入游戲後會叫你下載,這時候打開wifi時沒事的

㈢ Android實現撥號功能

請檢查你這個activity的permission,有沒有加上以下的設置。
在AndroidManifest.xml裡面添加。

<uses-permission android:name="android.permission.BROADCAST_STICKY" />
<uses-permission android:name="android.permission.CALL_PHONE" />
<uses-permission android:name="android.permission.CALL_PRIVILEGED" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS" />

另外幫你貼下android自帶撥號程序的核心部分,請自己參照下吧~~
public class OutgoingCallBroadcaster extends Activity {

private static final String PERMISSION = android.Manifest.permission.PROCESS_OUTGOING_CALLS;
private static final String TAG = "OutgoingCallBroadcaster";
private static final boolean LOGV = true;//Config.LOGV;

public static final String EXTRA_ALREADY_CALLED = "android.phone.extra.ALREADY_CALLED";
public static final String EXTRA_ORIGINAL_URI = "android.phone.extra.ORIGINAL_URI";

private Phone mPhone;

@Override
protected void onCreate(Bundle icicle) {
super.onCreate(icicle);

mPhone = PhoneApp.getInstance().phone;

Intent intent = getIntent();
if (LOGV) Log.v(TAG, "onCreate: Got intent " + intent + ".");

String action = intent.getAction();
String number = PhoneNumberUtils.getNumberFromIntent(intent, this);
if (number != null) {
number = PhoneNumberUtils.stripSeparators(number);
}
final boolean emergencyNumber =
(number != null) && PhoneNumberUtils.isEmergencyNumber(number);

boolean callNow;

if (getClass().getName().equals(intent.getComponent().getClassName())) {
// If we were launched directly from the OutgoingCallBroadcaster,
// not one of its more privileged aliases, then make sure that
// only the non-privileged actions are allowed.
if (!Intent.ACTION_CALL.equals(intent.getAction())) {
Log.w(TAG, "Attempt to deliver non-CALL action; forcing to CALL");
intent.setAction(Intent.ACTION_CALL);
}
}

/* Change CALL_PRIVILEGED into CALL or CALL_EMERGENCY as needed. */
if (Intent.ACTION_CALL_PRIVILEGED.equals(action)) {
action = emergencyNumber
? Intent.ACTION_CALL_EMERGENCY
: Intent.ACTION_CALL;
intent.setAction(action);
}

if (Intent.ACTION_CALL.equals(action)) {
if (emergencyNumber) {
finish();
return;
}
callNow = false;
} else if (Intent.ACTION_CALL_EMERGENCY.equals(action)) {
if (!emergencyNumber) {
finish();
return;
}
callNow = true;
} else {
finish();
return;
}

// Make sure the screen is turned on. This is probably the right
// thing to do, and more importantly it works around an issue in the
// activity manager where we will not launch activities consistently
// when the screen is off (since it is trying to keep them paused
// and has... issues).
//
// Also, this ensures the device stays awake while doing the following
// broadcast; technically we should be holding a wake lock here
// as well.
PhoneApp.getInstance().wakeUpScreen();

/* If number is null, we're probably trying to call a non-existent voicemail number or
* something else fishy. Whatever the problem, there's no number, so there's no point
* in allowing apps to modify the number. */
if (number == null || TextUtils.isEmpty(number)) callNow = true;

if (callNow) {
intent.setClass(this, InCallScreen.class);
startActivity(intent);
}

Intent broadcastIntent = new Intent(Intent.ACTION_NEW_OUTGOING_CALL);
if (number != null) broadcastIntent.putExtra(Intent.EXTRA_PHONE_NUMBER, number);
broadcastIntent.putExtra(EXTRA_ALREADY_CALLED, callNow);
broadcastIntent.putExtra(EXTRA_ORIGINAL_URI, intent.getData().toString());
broadcastIntent.putExtra(EXTRA_INTENT_FROM_BT_HANDSFREE,
intent.getBooleanExtra(OutgoingCallBroadcaster.EXTRA_INTENT_FROM_BT_HANDSFREE, false));

if (LOGV) Log.v(TAG, "Broadcasting intent " + broadcastIntent + ".");
sendOrderedBroadcast(broadcastIntent, PERMISSION, null, null,
Activity.RESULT_OK, number, null);

finish();
}

}

安卓手機百度文庫里沒有original文件夾

安卓手機網路文庫里是沒有original文件夾的。

網路安裝目錄,如果是安裝在手機上,就是本機內存,如果是SD卡上,就從SD卡裡面找。

文件目錄是: /searchbox/downloads/, 並沒有original文件夾。

下圖為例:

㈤ android 怎麼獲得bluetootha2dpservice

這是個隱藏類,你可以通過反射來使用它,也可以去這看看隱藏API和Internal包的使用

首先我們要明白為什麼隱藏API(有@hide標記)和Internal包不能使用。
當我們使用android的SDK進行開發的時候都會用到一個非常重要的jar文件--android.jar(SDK_DIR/platforms/platform-X/android.jar,X是API等級)。這個包中移除了所有被標記的尾@hide的類、方法、枚舉、欄位和Internal包。當我們的程序在設備上運行的時候會載入設備上的一個framework.jar的文件,它包含了移除的部分。

所以我們的思路是想辦法得到framework.jar將那些缺少的API拿出來放到android.jar中。當然這些都可以通過編譯源碼來解決,但那樣太過麻煩。下面我介紹一種簡單的方法來獲取這些內容。

1,獲取framework.jar
剛才也說了,設備上有這個文件,那麼我們就從設備上來取。通過adb pull命令(也可以用DDMS):
adb pull /system/framework/framework.jar
我們需要該包中的classes.dex文件。這里從4.0以下模擬器上取,真機上一般是經過優化了的.odex文件,而4.0以上的模擬器中的這個文件中沒有classes.dex文件。
如果需要4.0以上的可以在網上找找。

2,將framework.jar改成framework.zip,解壓,得到裡面的classes.dex文件。

3,將.dex文件轉換成.jar格式。這里用到了dex2jar這個工具,知道反編譯的同學都知道這個工具,沒有的可以在網上找找。
轉換結束後會得到一個classes.dex.dex2jar.jar文件。

4,重命名classes.dex.dex2jar.jar成classes.dex.dex2jar.zip,解壓。得到以下文件。

5,將SDK_DIR/platforms/platform-X/中的android.jar拷貝出來,改成android.zip解壓,得到以下結構的文件。將上面得到的文件復制到下面文件夾中(覆蓋替換)。

6,全選上面的文件,打包成original-android.zip。
7,將original-android.zip改成original-android.jar。

OK,完成。
最簡單的方法就是將這個包直接導入我們的工程,在工程中就可以使用隱藏API和Internal包了。

㈥ android 怎樣實現 效果

著色(Tint Color)是iOS7界面中的一個.設置UIImage的渲染模式:UIImage.renderingMode重大改變,你可以設置一個UIImage在渲染時是否使用當前視圖的Tint Color。UIImage新增了一個只讀屬性:renderingMode,對應的還有一個新增方法:imageWithRenderingMode:,它使用UIImageRenderingMode枚舉值來設置圖片的renderingMode屬性。該枚舉中包含下列值:
UIImageRenderingModeAutomatic // 根據圖片的使用環境和所處的繪圖上下文自動調整渲染模式。
// 始終繪制圖片原始狀態,不使用Tint Color。
// 始終根據Tint Color繪制圖片,忽略圖片的顏色信息。

renderingMode屬性的默認值是UIImageRenderingModeAutomatic,即UIImage是否使用Tint Color取決於它顯示的位置。其他情況可以看下面的圖例

㈦ 為什麼用UC瀏覽器保存圖片,圖片的名字都是original.jpg。我用的是android UC HD版

您好,很高興為您服務!
圖片名稱是對方網站有關系的,並非UC瀏覽器可以設置圖片名稱的,請友友了解!
如果仍有問題,請您繼續向我們反饋,我們會第一時間為您跟進。

㈧ android怎樣調用@hide和internal API

Android有兩種類型的API是不能經由SDK訪問的。

第一種是位於com.android.internal包中的API。我將稱之為internal API。第二種API類型是一系列被標記為@hide屬性的類和方法。從嚴格意義上來講,這不是一個單一的API,而是一組小的被隱藏的API,但我仍將其假設為一種API,並稱之為hidden API。

Hidden API 例子

你可以查看一下android的源碼,並能找到一些變數、函數和類等,都被@hide屬性標記了。

下面的例子就是在WifiManager(API 10源碼)中隱藏的變數。

另一個例子是在WifiManager(API 10源碼)中隱藏了setWifiApEnabled函數。

因此,只要你看到@hide屬性,那你看到的就是hidden API。

Internal和hidden API的區別

Hidden API之所以被隱藏,是想阻止開發者使用SDK中那些未完成或不穩定的部分(介面或架構)。舉個例子,Bluetooth API在API 5(Android 2.0)上才開放;在API 3 和4上都是用@hide屬性隱藏了。當這些API被驗證和清理後,Google的開發者會移除@hide屬性,並讓其在API 5官方化。很多地方在API 4 和5之間發生了變化。如果你的程序依賴某些隱藏的API,當其部署到新的平台上時,就有可能陷入困境。

對於internal API來說,從來都沒有計劃將其開放出來。它就是Android的「內部廚房」,對開發者來說,應該將其視作黑盒。凡事都會有變化的。如果你依賴某些internal API,也有可能在新的Android release上,這些internal API發生變化,從而令你失望。

總結一下區別:

Hidden API = 進行中的工作;

Internal API = 黑盒;

Internal和hidden API的編譯時 vs. 運行時

當你使用Android SDK進行開發的時候,你引用了一個非常重要的jar文件——android.jar。它位於Android SDK平台的文件夾中(SDK_DIR/platforms/platform-X/android.jar,其中,X表示API等級)。這個android.jar移掉了com.android.internal包中所有的類,也移掉了所有標記有@hide的類,枚舉,欄位和方法。

但當你在設備上啟動應用程序時,它將載入framework.jar(簡單來說,它和android.jar等同),而其未移掉internal API和hidden API。(但它對開發者來說,並不能友好地訪問,因此,我將向大家展示不通過反射如何使用這些API)。

關於internal API,還有一件事需要說明。Eclipse的ADT插件增加了一個額外的規則,那就是禁止使用com.android.internal包中的任何東西。所以,即便是我們可以拿到最原始的android.jar(未刪減版),也沒有輕松的辦法通過Eclipse使用這些internal API。

你可以親自檢查一下。創建一個新的Android工程(或者使用已有的)。查看一下它引用的類庫(右擊project Properties –> Java Build Path –> Libraries)。

重要的總結:internal和hidden API在SDK中是按照一樣的方式處理的(都從android.jar中移除了),但internal API更慘的是,還被Eclipse的ADT插件顯式禁止了。

不通過反射使用internal和hidden API

這些文章的終極目標是讓開發者能夠不通過反射使用Internal和Hidden API。如果你完成了接下來部分中描述的步驟,你將能使用這些Internal和Hidden API,如同公開的API。你不再需要使用反射。

註:如果你正在使用這些非公開的API,你必須知道,你的程序有著極大的風險。基本上,無法保證在下一次的Android OS更新時,這些API不被破壞,也無法保證不同的運營商有著一致的行為。你自己決定吧。

接下來有三個場景:

1. Internal 和hidden API都可用(場景A)

2. 只Hidden API可用(場景B)

3. 只Internal API可用(場景C)

場景A是B、C的總和。場景B是最簡單的一個(不需要對Eclipse的ADT修改)。

場景A:閱讀Part1, 2, 3, 4, 5

場景B:閱讀Part1, 2, 3, 5

場景C:閱讀Part1, 2, 3, 4, 5

我解釋了為什麼我們不通過反射就會很難使用internal和hidden API。這是因為android.jar中就沒包含這些API,因此,沒人能夠在編譯時引用這些類。

這篇文章將描述如何還原最初的android.jar。這將允許我們像使用公開的API那樣使用internal和hidden API。

如何得到原版android.jar?

我們需要修改android.jar,這樣它才能包含所有的*.class文件(包括internal和hidden API類)。有兩種辦法:

1) Android是一個開源工程。我們可以下載源碼並搭建編譯環境,這樣它就不能移除那些internal和hidden的類了。這個辦法比較困難;

2) 每個模擬器或真機在運行時都會有一個等同android.jar的東西。我們可以從這里拿到jar文件,提取出原始的.class文件,並拷貝到Android SDK的android.jar中。

我將採用方案2。它易於開始,還不需要搭建Linux環境及編譯環境等。

從設備上獲取framework.jar

你可以使用命令行(adb pull)從模擬器或設備上下載文件,或者使用DDMS(藉助Eclipse或SDK中的應用)。

注意:模擬器通常在.dex文件中包含代碼,而真機一般在優化版的dex文件中包含代碼——odex文件。操作odex文件比較困難,這也是為什麼我選擇模擬器的原因。

與Android SDK中的android.jar等同的文件是framework.jar。這個文件位於設備的:/system/framework/framework.jar

adb pull /system/framework/framework.jar

當framework.jar從設備上下下來之後,重命名為framework.zip並解壓到獨立的文件夾中,看起來是這個樣子的:

classes.dex正是我們需要的。

創建framework-classes.zip

首先,我們需要把.dex文件轉換成.jar格式。你可以使用通用的工具dex2jar。只需要運行:

dev2jar classes.dex

當轉換結束時,你應該得到了classes.dex.dex2jar.jar文件。重命名為framework-classes.zip。使用zip查看器,進入到framework-classes.zip/com/android/internal/:

恭喜你,你已經擁有了所有的.class文件,包括internal和hidden API(盡管截圖只確認了internal部分)。

創建original-android.jar

Android SDK的android.jar位於ANDROID_SDK/platforms/android-X/android.jar(X表示API等級)。

拷貝android.jar成custom-android.jar。解壓至custom-android文件夾。將framework-classes.zip中所有的.class文件拷貝到custom-android文件夾中(你需要覆蓋所有已經存在的.class文件)。

然後,壓縮custom-android文件成original-android.zip。重命名為original-android.jar。

步驟總結

1. 選擇你的目標平台X

2. 創建目標平台X的模擬器

3. 啟動模擬器,下載/system/framework/framework.jar

4. 重命名framework.jar -> framework.zip

5. 從framework.zip中抽取classes.dex

6. 使用dex2jar工具,將其轉換成classes.jar

7. 重命名classes.jar -> framework-classes.zip

8. 拷貝android.jar –> custom-android.zip

9. 解壓custom-android.zip至custom-android文件夾

10. 將framework-classes.zip中所有文件拷貝至custom-android文件夾(覆蓋存在的文件)

11. 壓縮custom-android文件夾成original-android.zip

12. 重命名original-android.zip -> original-android.jar

打完收功。

㈨ android中鬧鍾程序是怎樣監聽系統時間的

windows應用程序 都是通過調用API 實現 功能的
你要做的功能 很簡單
CTime tm;
tm=CTime::GetCurrentTime();
然後 判斷tm 這個時間 是不是 你定的鬧鍾時間
是則 調用 MMplay() 吧 放一首歌就是了

智能機也一樣
不管是什麼平台 都有API 提供 你查一下 手冊

㈩ android怎麼調用系統日歷的添加事件界面

詳細修改如下:
1.首先准備各種大小的ic_newevents_numberindication.9.png圖片。
如果是搞開發的,在以前的項目中都可以找到的。
2.定義個未讀信息支持的app事件xml,這個支持簡訊,日歷,電話,郵件:
b/packages/apps/Launcher3/res/xml/unread_support_shortcuts.xml
內容如下:
+<?xml version="1.0" encoding="UTF-8"?>
+<unreadshortcuts xmlns:launcher="http://schemas.android.com/apk/res-

auto/com.android.launcher3">
+
+ <shortcut
+ launcher:unreadPackageName="com.android.dialer"
+ launcher:unreadClassName="com.android.dialer.DialtactsActivity"
+ launcher:unreadType="0"
+ launcher:unreadKey="com_android_contacts_unread"
+ />
+ <shortcut
+ launcher:unreadPackageName="com.android.mms"
+ launcher:unreadClassName="com.android.mms.ui.BootActivity"
+ launcher:unreadType="0"
+ launcher:unreadKey="com_android_mms_unread"
+ />
+ <shortcut
+ launcher:unreadPackageName="com.android.email"
+ launcher:unreadClassName="com.android.email.activity.Welcome"
+ launcher:unreadType="0"
+ launcher:unreadKey="com_android_email_unread"
+ />
+ <shortcut
+ launcher:unreadPackageName="com.android.calendar"
+ launcher:unreadClassName="com.android.calendar.AllInOneActivity"
+ launcher:unreadType="0"
+ launcher:unreadKey="com_android_calendar_unread"
+ />
+ <shortcut
+ launcher:unreadPackageName="com.orangelabs.rcs"
+

launcher:unreadClassName="com.mediatek.rcse.activities.ChatMainActivity"
+ launcher:unreadType="0"
+ launcher:unreadKey="com_android_rcse_unread"
+ />
+ <shortcut
+ launcher:unreadPackageName="com.android.cellbroadcastreceiver"
+

launcher:unreadClassName="com.android.cellbroadcastreceiver.CellBroadcastLis

tActivity"
+ launcher:unreadType="0"
+ launcher:unreadKey="com_android_calendar_unread"
+ />
+ <shortcut
+ launcher:unreadPackageName="com.mediatek.cellbroadcastreceiver"
+

launcher:unreadClassName="com.mediatek.cellbroadcastreceiver.CellBroadcastLi

stActivity"
+ launcher:unreadType="0"
+ launcher:unreadKey="com_mediatek_cellbroadcastreceiver_unread"
+ />
+</unreadshortcuts>

3.添加幾種需要用到而之前沒有的許可權:

b/packages/apps/Launcher3/AndroidManifest.xml
<original-package android:name="com.android.launcher3" />
<uses-permission android:name="android.permission.CHANGE_CONFIGURATION"/>
+ <uses-permission

android:name="android.permission.ADVANCED_WIDGET_API"/>
+ <uses-permission android:name="android.permission.WRITE_SETTINGS"/>
+ <uses-permission android:name="android.permission.INSTALL_PACKAGES"/>
+ <uses-permission android:name="android.permission.DELETE_PACKAGES"/>

4.定義要用的字元串:b/packages/apps/Launcher3/res/values/attrs.xml
+ <!-- XML attributes used by unread_support_shortcuts.xml -->
+ <declare-styleable name="UnreadShortcut">
+ <attr name="unreadPackageName" format="string" />
+ <attr name="unreadClassName" format="string" />
+ <attr name="unreadKey" format="string" />
+ <attr name="unreadType" format="integer" />
+ </declare-styleable>

5.定義顯示的數字大小尺寸,這個可以自己修改到滿意,這個是四行五列排列的

1080*1920屏幕大小的尺寸。
b/packages/apps/Launcher3/res/values/dimens.xml
+ <!-- Add for unread events feature. -->
+ <dimen name="unread_minWidth">20dp</dimen>
+ <dimen name="hotseat_unread_margin_top">16dp</dimen>
+ <dimen name="hotseat_unread_margin_right">8dp</dimen>
+ <dimen name="folder_unread_margin_top">16dp</dimen>
+ <dimen name="folder_unread_margin_right">14dp</dimen>
+ <dimen name="workspace_unread_margin_top">16dp</dimen>
+ <dimen name="workspace_unread_margin_right">16dp</dimen>
+ <dimen name="app_list_unread_margin_top">20dp</dimen>
+ <dimen name="app_list_unread_margin_right">16dp</dimen>
+ <dimen name="unread_text_margin">8dp</dimen>
+ <dimen name="unread_text_number_size">14sp</dimen>
+ <dimen name="unread_text_plus_size">10sp</dimen>

熱點內容
華為如何用電腦解鎖手機密碼 發布:2024-05-04 14:54:38 瀏覽:574
斐波那契數列的遞歸演算法 發布:2024-05-04 14:34:55 瀏覽:969
數字支付密碼哪裡找 發布:2024-05-04 14:26:50 瀏覽:86
天翼雲免費存儲 發布:2024-05-04 14:22:55 瀏覽:782
微信56g緩存怎麼解決 發布:2024-05-04 14:09:41 瀏覽:707
sqlupdatewhereand 發布:2024-05-04 13:55:47 瀏覽:586
java視頻教程推薦 發布:2024-05-04 13:55:08 瀏覽:86
安卓官服閃耀暖暖怎麼換 發布:2024-05-04 13:46:37 瀏覽:171
我的世界精靈伺服器怎麼抓寵物 發布:2024-05-04 13:28:54 瀏覽:960
編譯androidwebkit 發布:2024-05-04 13:11:37 瀏覽:761