1、許可權:
2、動態申請
a、檔案讀寫許可權:
//在這裡動態申請檔案讀寫許可權
if (build.version.sdk_int > 23) else
//在大於23的android版本中,檔案讀寫需要動態申請許可權
private void verifystoragepermissions() , 1);
} else
}}
@override
public void onrequestpermissionsresult(int requestcode, @nonnull string permissions, @nonnull int grantresults) else
break;
default:
break;
}}
if (build.version.sdk_int >= build.version_codes.o) else
}
@requiresapi(api = build.version_codes.o)
private boolean ishasinstallpermissionwitho(context context)
return context.getpackagemanager().canrequestpackageinstalls();
}
/**
* 開啟設定安裝未知**應用許可權介面
** @param context
*/@requiresapi(api = build.version_codes.o)
private void startinstallpermissionsettingactivity(context context)
}
安裝apk的**:
log.e("install","new version" + apkpath);
intent intent = new intent(intent.action_install_package);
if(build.version.sdk_int>= build.version_codes.n)
intent.setflags(intent.flag_grant_read_uri_permission);
intent.addflags(intent.flag_activity_new_task);
}else
context.startactivity(intent);
}或者:
/**
* 安裝apk
** @param context
* @param apkpath
*/public static void installapk(context context, string apkpath)
file file = new file(apkpath);
intent intent = new intent(intent.action_view);
//判讀版本是否在7.0以上
if (build.version.sdk_int >= 24) else
context.startactivity(intent);
}
註冊provider:
name 可以用標準的v4 provider。
res下面建立xml / file_paths.xml:(叫什麼檔案都可以,但是和註冊的地方要一致)
<?xml version="1.0" encoding="utf-8"?>
注1:因為我的**是在試驗中生成的,所以有的地方對應不一致,注意修改。 Android使用廣播實現app開機自啟動
1.在專案中新建乙個接收廣播的類startbootcomplete,繼承broadcastreceiver import android.content.broadcastreceiver import android.content.context import android.content.i...
android 8 1 VTS環境配置
一 如何確保gsi版本的正確性,刷入方法的正確性?二 遇到vts環境下無法執行case情況如果排查 1.run vts command,在vts環境下跑 我這邊vts測試環境配置如下 python版本 2.7.13 64bit python安裝完之後記得要在cmd中執行 pip install vi...
Android 8 1 螢幕旋轉問題
開發中遇到乙個問題,在相機cameraactivity設定了setrequestedorientation activityinfo.screen orientation landscape cameraactivity是橫屏展示。從a activity portrait 開啟b cameraact...