Как получить, если приложение запрашивает разрешение?

Я ответил себе, прежде чем Клеменс ответит:

[DllImport("kernel32.dll", EntryPoint = "CopyMemory", SetLastError = false)]
public static extern void CopyMemory(IntPtr dest, IntPtr src, uint count);

 WriteableBitmap writeableBitmap = new WriteableBitmap(1280, 1024, 96.0, 96.0, PixelFormats.Bgr24, null);
        public MainWindow()
        {
            InitializeComponent();

            ImageTarget.Source = writeableBitmap;

            Messenger.Default.Register<Bitmap>(this, (bmp) =>
            {
                ImageTarget.Dispatcher.BeginInvoke((Action)(() =>
               {
                    BitmapData data = bmp.LockBits(new System.Drawing.Rectangle(0, 0, bmp.Width, bmp.Height), ImageLockMode.ReadOnly, bmp.PixelFormat);
                    writeableBitmap.Lock();
                    CopyMemory(writeableBitmap.BackBuffer, data.Scan0,
                        (writeableBitmap.BackBufferStride * bmp.Height));
                    writeableBitmap.AddDirtyRect(new Int32Rect(0, 0, bmp.Width, bmp.Height));
                    writeableBitmap.Unlock();
                    bmp.UnlockBits(data);
                }));
            });
        }

Теперь мое использование процессора составляет около 15%

1
задан F app 2 March 2019 в 08:36
поделиться

1 ответ

Используйте следующий код в своей деятельности:

Я создал StringBuffer appNameAndPermissions = new StringBuffer();, чтобы добавить всю информацию о приложениях и разрешениях.

Работает нормально. Я уже проверял это. Если у вас есть какие-либо проблемы, пожалуйста, дайте мне знать.

StringBuffer appNameAndPermissions = new StringBuffer();
PackageManager pm = getPackageManager();
List<ApplicationInfo> packages = pm.getInstalledApplications(PackageManager.GET_META_DATA);

for (ApplicationInfo applicationInfo : packages) {
    Log.d("test", "App: " + applicationInfo.name + " Package: " + applicationInfo.packageName);
try {
    PackageInfo packageInfo = pm.getPackageInfo(applicationInfo.packageName, PackageManager.GET_PERMISSIONS);
    appNameAndPermissions.append(packageInfo.packageName+"*******:\n");

    //Get Permissions
    String[] requestedPermissions = packageInfo.requestedPermissions;
    if(requestedPermissions != null) {
        for (int i = 0; i < requestedPermissions.length; i++) {
            Log.d("test", requestedPermissions[i]);
            appNameAndPermissions.append(requestedPermissions[i]+"\n");
        }
    appNameAndPermissions.append("\n");
} catch (NameNotFoundException e) {
    e.printStackTrace();
}

Используйте следующее разрешение в вашем файле AndroidManifest.xml:

<uses-permission android:name="android.permission.GET_TASKS"/>

Источник и другие ответы здесь [ 119]

0
ответ дан Dr Mido 2 March 2019 в 08:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: